Sha256: 868986db7d2219f73b901608e1b29dc8d0a22964e5d3337df2e7726c54d815e4

Contents?: true

Size: 925 Bytes

Versions: 3

Compression:

Stored size: 925 Bytes

Contents

require 'forwardable'

module Support::V2Alt
  Bar = super_module do
    include Foo
    include Comparable
    validates 'bar', {:presence => true}
    attr_reader :created_at

    # Defines singleton methods via class << self to provide as a test case for SuperModule
    class << self
      include Forwardable

      def barrable
        @barrable
      end

      def barrable=(value)
        @barrable = value
      end

      def make_barrable
        self.barrable = true
      end
    end

    make_barrable
    def_delegators :@bar, :length

    def initialize
      @bar = bar
      @created_at = Time.now.to_f
    end

    def bar
      'bar'
    end

    # Defines singleton method via a form of eval (class_eval) to provide as a test case for SuperModule
    class_eval do
      def self.bar
        'self.bar'
      end
    end
    
    def <=>(other)
      created_at <=> other.created_at
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
super_module-1.2.2 spec/support/v2_alt/bar.rb
super_module-1.2.1 spec/support/v2_alt/bar.rb
super_module-1.2.0 spec/support/v2_alt/bar.rb