simple_model 1.2.12 → 1.2.13

Sign up to get free protection for your applications and to get access to all the features.
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