Sha256: 4d9bba5e55a177277ab0e5d586eae4834a97c68084a5341d7c8b28c7dd733e41

Contents?: true

Size: 582 Bytes

Versions: 96

Compression:

Stored size: 582 Bytes

Contents

class Class # :nodoc:
  def class_inheritable_option(sym, default_value=nil)
    write_inheritable_attribute sym, default_value
    class_eval <<-EOS
      def self.#{sym}(value=nil)
        if !value.nil?
          write_inheritable_attribute(:#{sym}, value)
        else
          read_inheritable_attribute(:#{sym})
        end
      end
      
      def self.#{sym}=(value)
        write_inheritable_attribute(:#{sym}, value)
      end

      def #{sym}
        self.class.#{sym}
      end

      def #{sym}=(value)
        self.class.#{sym} = value
      end
    EOS
  end
end

Version data entries

96 entries across 96 versions & 28 rubygems

Version Path
GavinJoyce-actionwebservice-2.2.3 lib/action_web_service/support/class_inheritable_options.rb
datanoise-actionwebservice-2.1.0 lib/action_web_service/support/class_inheritable_options.rb
datanoise-actionwebservice-2.1.1 lib/action_web_service/support/class_inheritable_options.rb
datanoise-actionwebservice-2.2.2 lib/action_web_service/support/class_inheritable_options.rb
datanoise-actionwebservice-2.3.2 lib/action_web_service/support/class_inheritable_options.rb
davidsmalley-actionwebservice-2.3.1 lib/action_web_service/support/class_inheritable_options.rb
davidsmalley-actionwebservice-2.3 lib/action_web_service/support/class_inheritable_options.rb
dougbarth-actionwebservice-2.1.1 lib/action_web_service/support/class_inheritable_options.rb
dougbarth-actionwebservice-2.3.3 lib/action_web_service/support/class_inheritable_options.rb
dougbarth-actionwebservice-2.3.4 lib/action_web_service/support/class_inheritable_options.rb
feldpost-actionwebservice-2.3.3 lib/action_web_service/support/class_inheritable_options.rb
mozy-actionwebservice-2.3.2 lib/action_web_service/support/class_inheritable_options.rb
nmeans-actionwebservice-2.1.1 lib/action_web_service/support/class_inheritable_options.rb
panztel-actionwebservice-2.3.4 lib/action_web_service/support/class_inheritable_options.rb
pelle-actionwebservice-2.3.3 lib/action_web_service/support/class_inheritable_options.rb
rickenharp-actionwebservice-2.3.4 lib/action_web_service/support/class_inheritable_options.rb
tonycoco-actionwebservice-2.3.3 lib/action_web_service/support/class_inheritable_options.rb
tonycoco-actionwebservice-2.3.4 lib/action_web_service/support/class_inheritable_options.rb
keshav-actionwebservice-1.0.0 lib/action_web_service/support/class_inheritable_options.rb
datanoise-actionwebservice-2.3.5 lib/action_web_service/support/class_inheritable_options.rb