Sha256: 9c5c2e8baacf6d87fab2cd799ae806db874c2f272b412394e398aa72910308f4
Contents?: true
Size: 594 Bytes
Versions: 4
Compression:
Stored size: 594 Bytes
Contents
# frozen_string_literal: true # (c) Copyright 2021 Ribose Inc. # module Glossarist class Model def self.new(params = {}) return params if params.is_a?(self) super end def initialize(attributes = {}) attributes.each_pair { |k, v| set_attribute(k, v) } end def set_attribute(name, value) public_send("#{name}=", value) rescue NoMethodError raise ArgumentError, "#{self.class.name} does not have " + "attribute #{name} defined or the attribute is read only." end def self.from_h(hash) new(hash) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
glossarist-new-1.0.3 | lib/glossarist/model.rb |
glossarist-new-1.0.2 | lib/glossarist/model.rb |
glossarist-new-1.0.1 | lib/glossarist/model.rb |
glossarist-new-1.0.0 | lib/glossarist/model.rb |