diff options
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 | 
