Sha256: 2f35fe362558742c73e6f854fd9faf9c9a99b5022003920edb1757bfeac642a7

Contents?: true

Size: 475 Bytes

Versions: 26

Compression:

Stored size: 475 Bytes

Contents

module Clapton
  class State
    attr_reader :attributes
    attr_accessor :errors

    def initialize(params = {})
      @attributes = params
      @errors = []
    end

    def to_h
      @attributes
    end

    def self.attribute(attribute_name)
      define_method(attribute_name) do
        @attributes[attribute_name.to_sym]
      end

      define_method("#{attribute_name}=") do |value|
        @attributes[attribute_name.to_sym] = value
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
clapton-0.0.26 lib/clapton/state.rb
clapton-0.0.25 lib/clapton/state.rb
clapton-0.0.24 lib/clapton/state.rb
clapton-0.0.23 lib/clapton/state.rb
clapton-0.0.22 lib/clapton/state.rb
clapton-0.0.21 lib/clapton/state.rb
clapton-0.0.20 lib/clapton/state.rb
clapton-0.0.19 lib/clapton/state.rb
clapton-0.0.18 lib/clapton/state.rb
clapton-0.0.17 lib/clapton/state.rb
clapton-0.0.16 lib/clapton/state.rb
clapton-0.0.15 lib/clapton/state.rb
clapton-0.0.14 lib/clapton/state.rb
clapton-0.0.13 lib/clapton/state.rb
clapton-0.0.12 lib/clapton/state.rb
clapton-0.0.11 lib/clapton/state.rb
clapton-0.0.10 lib/clapton/state.rb
clapton-0.0.9 lib/clapton/state.rb
clapton-0.0.8 lib/clapton/state.rb
clapton-0.0.7 lib/clapton/state.rb