diff options
| author | Zog | 2018-03-05 09:11:34 +0100 | 
|---|---|---|
| committer | Zog | 2018-03-05 09:11:34 +0100 | 
| commit | ea3de6035cdf9fbbcd92f51c90e5a2c5c3400cb3 (patch) | |
| tree | d35feb918791f94d69ebb97bf1224d8a96b60796 /app/models/simple_interface.rb | |
| parent | c1ac12174b9aff7535a84af9f76d1cda95b750f4 (diff) | |
| download | chouette-core-ea3de6035cdf9fbbcd92f51c90e5a2c5c3400cb3.tar.bz2 | |
Refs #6068; Export VehicleJourneys
Add a mechanism to allow for several rows in the csv per single object
in the collection.
Diffstat (limited to 'app/models/simple_interface.rb')
| -rw-r--r-- | app/models/simple_interface.rb | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/app/models/simple_interface.rb b/app/models/simple_interface.rb index 3d5027bf1..5f022719a 100644 --- a/app/models/simple_interface.rb +++ b/app/models/simple_interface.rb @@ -167,6 +167,13 @@ class SimpleInterface < ActiveRecord::Base        @scope = opts[:scope]      end +    def on_relation relation_name +      @scope ||= [] +      @scope.push relation_name +      yield +      @scope.pop +    end +      def duplicate        self.class.new @import_name, self.options      end @@ -211,7 +218,8 @@ class SimpleInterface < ActiveRecord::Base      end      def add_column name, opts={} -      @columns.push Column.new({name: name.to_s}.update(opts)) +      @scope ||= [] +      @columns.push Column.new({name: name.to_s, scope: @scope.dup}.update(opts))      end      def add_value attribute, value @@ -262,6 +270,10 @@ class SimpleInterface < ActiveRecord::Base          !!@options[:required]        end +      def scope +        @options[:scope] || [] +      end +        def [](key)          @options[key]        end | 
