Sha256: cd69e43011c119f0091bd692f5019b0f691cd7741407bb948864b4b1c5b55f49

Contents?: true

Size: 875 Bytes

Versions: 1

Compression:

Stored size: 875 Bytes

Contents

module Kangaroo
  module Model
    class Field
      module Readonly
        def readonly?
          !!readonly
        end
      
        def eventually_readonly?
          !!readonly || (states.present? && states.any? { |key, value|
            !!value['readonly']
          })
        end
      
        def always_readonly?
          readonly? && (states.blank? || states.all? { |key, value|
            value['readonly'].nil? || value['readonly'] == true
          })
        end
      
        def readonly_in? state
          return true if always_readonly?
        
          s = states && states[state.to_s]
        
          if readonly?
            return true unless s
          
            s['readonly'] == true
          else
            return false unless s
          
            s['readonly'] == false
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kangaroo-0.1.0.alpha1 lib/kangaroo/model/field/readonly.rb