simple_model 1.2.12 → 1.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.travis.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - "2.0.0"
3
4
  - "1.9.2"
4
5
  - "1.9.3"
5
6
  - jruby-19mode # JRuby in 1.9 mode
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2012 Joshua T. Mckinney
1
+ Copyright (c) 2010-2013 Joshua T. McKinney
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -10,7 +10,7 @@ SimpleModel implements:
10
10
  * ActiveModel::Dirty
11
11
  * ActiveModel::Naming
12
12
  * ActiveModel::Callbacks
13
- * ActiveSupport core extentions (see [SimpleModel::Base](https://github.com/JoshMcKin/simple_model/blob/master/lib/simple_model/base.rb))
13
+ * ActiveSupport core extensions (see [SimpleModel::Base](https://github.com/JoshMcKin/simple_model/blob/master/lib/simple_model/base.rb))
14
14
 
15
15
  Additionally SimpleModel implements basic model actions
16
16
 
data/lib/simple_model.rb CHANGED
@@ -46,5 +46,4 @@ module SimpleModel
46
46
  require "simple_model/validation"
47
47
  require "simple_model/base"
48
48
  require 'simple_model/simple_model_railtie.rb' if defined?(Rails)
49
-
50
49
  end
@@ -46,7 +46,7 @@ module SimpleModel
46
46
  arg
47
47
  end
48
48
 
49
- # Returns attribute that have defaults in a hash: {:attrbute => "default value"}
49
+ # Returns attribute that have defaults in a hash: {:attribute => "default value"}
50
50
  # Checks for alias attributes to ensure they are not overwritten
51
51
  def attributes_with_for_init(attrs)
52
52
  d = attrs.with_indifferent_access
@@ -86,7 +86,7 @@ module SimpleModel
86
86
  b
87
87
  end
88
88
 
89
- # Rails 3.2 + required when searching for attributes in from inherited classes/cmodles
89
+ # Rails 3.2 + required when searching for attributes in from inherited classes/models
90
90
  def attribute(name)
91
91
  attributes[name.to_sym]
92
92
  end
@@ -94,7 +94,7 @@ module SimpleModel
94
94
  module ClassMethods
95
95
  # Creates a new instance where the attributes store is set to object
96
96
  # provided, which allows one to pass a session store hash or any other
97
- # hash-like object to be used for persistance. Typically used for modeling
97
+ # hash-like object to be used for persistence. Typically used for modeling
98
98
  # session stores for authorization or shopping carts
99
99
  # EX:
100
100
  # class ApplicationController < ActionController::Base
@@ -138,7 +138,7 @@ module SimpleModel
138
138
  # * :on_get - accepts a lambda that is run when you get/read an attribute
139
139
  # * :default - the default value for the attribute, can be a symbol that is sent for a method
140
140
  # * :initialize - informations the object whether or not it should initialize the attribute with :default value, defaults to true
141
- # ** If :intialize is set to false you must set :allow_blank to false or it will never set the default value
141
+ # ** If :initialize is set to false you must set :allow_blank to false or it will never set the default value
142
142
  # * :allow_blank - when set to false, if an attributes value is blank attempts to set the default value, defaults to true
143
143
  def default_attribute_settings
144
144
  @default_attribute_settings ||= {:attributes_method => :attributes,
@@ -262,25 +262,24 @@ module SimpleModel
262
262
 
263
263
  # A hook to perform actions after all attributes have been initialized
264
264
  # Expects an lambda that accept the object and the pending attributes hash
265
- # EX: lambda{|obj| puts "initialized"}
265
+ # EX: lambda {|obj| puts "initialized"}
266
266
  def after_initialize
267
267
  @after_initialize
268
268
  end
269
269
 
270
270
  # Expects an lambda that accept the object and the pending attributes hash
271
- # EX: lambda{|obj| puts "initialized"}
271
+ # EX: lambda {|obj| puts "initialized"}
272
272
  def after_initialize=after_initialize
273
273
  raise TypeError "after_initalize must be a Proc" unless after_initialize.is_a?(Proc)
274
274
  @after_initialize = after_initialize
275
275
  end
276
276
 
277
-
278
-
279
277
  # Must inherit super's defined_attributes and alias_attributes
280
278
  # Rails 3.0 does some weird stuff with ActiveModel::Dirty so we need a
281
279
  # hack to keep things working when a class inherits from a super that
282
280
  # has ActiveModel::Dirty included
283
281
  def inherited(base)
282
+ base.alias_attributes = base.alias_attributes.merge(self.alias_attributes)
284
283
  super
285
284
  # Rails 3.0 Hack
286
285
  if (ActiveModel::VERSION::MAJOR == 3 && ActiveModel::VERSION::MINOR == 0)
@@ -18,9 +18,9 @@ require 'active_support/core_ext/object/blank'
18
18
 
19
19
  # == SimpleModel::Base
20
20
  #
21
- # Provides an interface for any class to build tableless models.
21
+ # Provides an interface for any class to build table-less models.
22
22
  #
23
- # Implements Validations, Callbacks and Dirty from ActiveModel, and datatype specific
23
+ # Implements Validations, Callbacks and Dirty from ActiveModel, and data-type specific
24
24
  # attribute definitions with default options. SimpleModel::Base is intended as
25
25
  # an example, while it may be used in production, which it is on many of my apps
26
26
  # today, it is recommend you use SimpleModel::Base as an example to implement your
@@ -39,7 +39,7 @@ require 'active_support/core_ext/object/blank'
39
39
  # # save
40
40
  # # update
41
41
  # # create
42
- # # destory
42
+ # # destroy
43
43
  #
44
44
  # ==== Example
45
45
  #
@@ -71,7 +71,6 @@ module SimpleModel
71
71
  s
72
72
  end
73
73
 
74
-
75
74
  def errors_to_s
76
75
  error_string = ""
77
76
  self.errors.full_messages.each do |m|
@@ -11,7 +11,6 @@ module SimpleModel
11
11
  end
12
12
  end
13
13
 
14
-
15
14
  def validates_format_of(*attr_names)
16
15
  options = attr_names.extract_options!
17
16
  #set defaults
@@ -1,3 +1,3 @@
1
1
  module SimpleModel
2
- VERSION = "1.2.12"
2
+ VERSION = "1.2.13"
3
3
  end
@@ -24,7 +24,7 @@ describe SimpleModel::Attributes do
24
24
  before(:all) do
25
25
  class TestInit
26
26
  include SimpleModel::Attributes
27
- # Do not initalize blank attributes
27
+ # Do not initialize blank attributes
28
28
  self.before_initialize = lambda {|obj,attrs| attrs.select{|k,v| !v.blank?}}
29
29
  has_attribute :far
30
30
  end
@@ -47,7 +47,7 @@ describe SimpleModel::Attributes do
47
47
  before(:all) do
48
48
  class TestInit
49
49
  include SimpleModel::Attributes
50
- # Do not initalize blank attributes
50
+ # Do not initialize blank attributes
51
51
  self.after_initialize = lambda { |obj| obj.car = "test" if obj.car.blank?}
52
52
  has_attribute :car
53
53
  end
@@ -136,7 +136,7 @@ describe SimpleModel::Attributes do
136
136
  @default.attributes[:bar].should eql("bar")
137
137
  end
138
138
 
139
- it "should set the defaul to the supplied symbol, if the method does not exist" do
139
+ it "should set the default to the supplied symbol, if the method does not exist" do
140
140
  @default.attributes[:fab].should eql(:some_symbol)
141
141
  end
142
142
 
@@ -234,7 +234,7 @@ describe SimpleModel::Attributes do
234
234
  has_boolean :bar
235
235
  has_attribute :str
236
236
  has_dates :some, :thing, :default => :fetch_date, :allow_blank => false, :initialize => false
237
-
237
+ alias_attribute :other, :bar
238
238
  def fetch_date
239
239
  Date.today
240
240
  end
@@ -245,7 +245,7 @@ describe SimpleModel::Attributes do
245
245
  has_int :str
246
246
  end
247
247
  end
248
- it "should merge defined attributes when class are inhereted" do
248
+ it "should merge defined attributes when class are inherited" do
249
249
  NewerBase.attribute_defined?(:bar).should be_true
250
250
  n = NewerBase.new
251
251
  n.respond_to?(:bar_will_change!).should be_true
@@ -264,6 +264,11 @@ describe SimpleModel::Attributes do
264
264
  n.str = '1'
265
265
  n.str.should eql(1)
266
266
  end
267
+
268
+ it "should set attribute from alias" do
269
+ MyBase.new(:other => true).bar?.should be_true
270
+ NewerBase.new(:other => true).bar?.should be_true
271
+ end
267
272
  end
268
273
 
269
274
  after(:all) do
@@ -59,7 +59,7 @@ describe SimpleModel::ExtendCore, 'String.rb' do
59
59
  end
60
60
 
61
61
  context '#to_date' do
62
- it "should handel US formatted date strings" do
62
+ it "should handle US formatted date strings" do
63
63
  lambda {"12/31/2010".to_date}.should_not raise_error
64
64
  "12/31/2010".to_date.class.should eql(Date)
65
65
  "12/31/2010".to_date.should eql(Date.parse("2010-12-31"))
@@ -72,7 +72,7 @@ describe SimpleModel::ExtendCore, 'String.rb' do
72
72
  end
73
73
 
74
74
  context '#to_time' do
75
- it "should handel US formatted date strings" do
75
+ it "should handle US formatted date strings" do
76
76
  lambda {"12/31/2010 12:00:00".to_time}.should_not raise_error
77
77
  "12/31/2010 12:00:00".to_time.should be_kind_of(Time)
78
78
  "12/31/2010 12:00:00".to_time.should eql(Time.parse("2010-12-31 12:00:00"))
@@ -84,7 +84,7 @@ describe SimpleModel::ExtendCore, 'String.rb' do
84
84
  end
85
85
 
86
86
  context '#to_f' do
87
- it "return a Foat from a string that may contain non-numeric values" do
87
+ it "return a Float from a string that may contain non-numeric values" do
88
88
  "$5,000.006".to_f.should eql(5000.006)
89
89
  end
90
90
  end
@@ -125,7 +125,7 @@ describe SimpleModel do
125
125
 
126
126
  end
127
127
 
128
- it 'Should include peform validation callbacks' do
128
+ it 'Should perform validation callbacks' do
129
129
  class TestStuff < SimpleModel::Base
130
130
  before_validation :set_foo
131
131
  after_validation :set_bar
@@ -217,11 +217,11 @@ describe SimpleModel do
217
217
  end
218
218
 
219
219
  end
220
- it "should merge defined attributes when class are inhereted" do
220
+ it "should merge defined attributes when class are inherited" do
221
221
  NewTestStuff.attribute_defined?(:bar).blank?.should be_false
222
222
  NewTestStuff.attribute_defined?(:foo).blank?.should be_false
223
223
  end
224
- it "should merge defined attributes when class are inhereted" do
224
+ it "should merge defined attributes when class are inherited" do
225
225
  TestStuff.new.respond_to?(:bar_will_change!).should be_true
226
226
  t = OtherStuff.new
227
227
  t.bar = [1,2,4]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.12
4
+ version: 1.2.13
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-27 00:00:00.000000000 Z
12
+ date: 2013-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport