Module: InquiryAttrs
- Defined in:
- lib/inquiry_attrs.rb,
lib/inquiry_attrs/concern.rb,
lib/inquiry_attrs/railtie.rb,
lib/inquiry_attrs/version.rb,
lib/inquiry_attrs/installer.rb,
lib/inquiry_attrs/nil_inquiry.rb,
lib/inquiry_attrs/symbol_inquiry.rb
Overview
InquiryAttrs adds predicate-style inquiry methods to Rails model attributes.
Instead of comparing strings:
user.status == 'active'
Write expressive predicates:
user.status.active?
Nil/blank values safely return false for all predicates — no more
NoMethodError on nil.
Run the install task to wire the gem into your Rails app:
rails inquiry_attrs:install
That creates config/initializers/inquiry_attrs.rb which calls
ActiveSupport.on_load(:active_record) so that every ActiveRecord model
gets the .inquirer macro with no explicit include.
For StoreModel or plain Ruby classes, include the concern manually:
class ShippingAddress
include StoreModel::Model
include InquiryAttrs::Concern
attribute :kind, :string
inquirer :kind
end
Defined Under Namespace
Modules: Concern Classes: Installer, NilInquiry, Railtie, SymbolInquiry
Constant Summary collapse
- VERSION =
'1.0.2'.freeze