Sha256: 6dfd7340ec5d5073ea1be1e6def6f1b90f15a50e3c847db2c07effc52631c15d
Contents?: true
Size: 1.77 KB
Versions: 6
Compression:
Stored size: 1.77 KB
Contents
# frozen_string_literal: true module ActiveModel # = Active \Model \Basic \Model # # Allows implementing models similar to ActiveRecord::Base. # Includes ActiveModel::API for the required interface for an # object to interact with Action Pack and Action View, but can be # extended with other functionalities. # # A minimal implementation could be: # # class Person # include ActiveModel::Model # attr_accessor :name, :age # end # # person = Person.new(name: 'bob', age: '18') # person.name # => "bob" # person.age # => "18" # # If for some reason you need to run code on <tt>initialize</tt>, make # sure you call +super+ if you want the attributes hash initialization to # happen. # # class Person # include ActiveModel::Model # attr_accessor :id, :name, :omg # # def initialize(attributes={}) # super # @omg ||= true # end # end # # person = Person.new(id: 1, name: 'bob') # person.omg # => true # # For more detailed information on other functionalities available, please # refer to the specific modules included in +ActiveModel::Model+ # (see below). module Model extend ActiveSupport::Concern include ActiveModel::API include ActiveModel::Access ## # :method: slice # # :call-seq: slice(*methods) # # Returns a hash of the given methods with their names as keys and returned # values as values. # #-- # Implemented by ActiveModel::Access#slice. ## # :method: values_at # # :call-seq: values_at(*methods) # # Returns an array of the values returned by the given methods. # #-- # Implemented by ActiveModel::Access#values_at. end ActiveSupport.run_load_hooks(:active_model, Model) end
Version data entries
6 entries across 6 versions & 1 rubygems