diff options
| author | Zog | 2018-03-16 11:02:51 +0100 | 
|---|---|---|
| committer | Zog | 2018-03-16 11:02:51 +0100 | 
| commit | 25df1bea61409294e9944a66a25d81ea55f0391f (patch) | |
| tree | 3049cca0135cce028b9c7445ebd2e6fc65f9407d /app/models/export/base.rb | |
| parent | e761d6fb5c70e060fc53f9119903b38a531d99c9 (diff) | |
| download | chouette-core-25df1bea61409294e9944a66a25d81ea55f0391f.tar.bz2 | |
Refs #6218; UI for exports
Diffstat (limited to 'app/models/export/base.rb')
| -rw-r--r-- | app/models/export/base.rb | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/app/models/export/base.rb b/app/models/export/base.rb index 6085e0ffb..6a1eb791d 100644 --- a/app/models/export/base.rb +++ b/app/models/export/base.rb @@ -38,8 +38,28 @@ class Export::Base < ActiveRecord::Base      end    end +  def self.user_visible? +    false +  end + +  def self.inherited child +    super child +    child.instance_eval do +      def self.user_visible? +        true +      end +    end +  end +    def self.option name, opts={}      store_accessor :options, name + +    if opts[:serialize] +      define_method name do +        JSON.parse(options[name.to_s]) rescue opts[:serialize].new +      end +    end +      if !!opts[:required]        validates name, presence: true      end @@ -51,6 +71,10 @@ class Export::Base < ActiveRecord::Base      @options ||= {}    end +  def self.options= options +    @options = options +  end +    include IevInterfaces::Task    def self.model_name | 
