Sha256: 75931975f7fdb8fa0b4a8851ee4783e404dbdb89a14c0dfea07211955b21bb4c

Contents?: true

Size: 603 Bytes

Versions: 13

Compression:

Stored size: 603 Bytes

Contents

# frozen_string_literal: true

require 'luna_park/values/compound'
require 'luna_park/extensions/comparable'
require 'luna_park/extensions/serializable'
require 'luna_park/extensions/dsl/attributes'

module LunaPark
  module Values
    class Attributable < Compound
      include Extensions::Comparable
      include Extensions::Serializable
      extend  Extensions::Dsl::Attributes

      # redefine: make defined setters privat
      def self.attr(*args, **opts)
        super.tap { |result| protected(result[:setter]) } # rubocop:disable Style/AccessModifierDeclarations
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
luna_park-0.13.2 lib/luna_park/values/attributable.rb
luna_park-0.13.1 lib/luna_park/values/attributable.rb
luna_park-0.13.0 lib/luna_park/values/attributable.rb
luna_park-0.12.1 lib/luna_park/values/attributable.rb
luna_park-0.12.0 lib/luna_park/values/attributable.rb
luna_park-0.11.7 lib/luna_park/values/attributable.rb
luna_park-0.11.6 lib/luna_park/values/attributable.rb
luna_park-0.11.5 lib/luna_park/values/attributable.rb
luna_park-0.11.4 lib/luna_park/values/attributable.rb
luna_park-0.11.3 lib/luna_park/values/attributable.rb
luna_park-0.11.2 lib/luna_park/values/attributable.rb
luna_park-0.11.1 lib/luna_park/values/attributable.rb
luna_park-0.11.0 lib/luna_park/values/attributable.rb