instructure-active_model-better_errors 1.6.3.rails2.2 → 1.6.3.rails2.3

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/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
- source 'https://rubygems.org'
1
+ source :rubygems
2
+
3
+ gem "activemodel", "~> 3.0"
2
4
 
3
- gem "activerecord", "~> 2.3.11"
4
5
 
5
6
  group :development, :test do
6
7
  gem "rake"
@@ -13,6 +14,4 @@ group :development, :test do
13
14
  gem "simplecov"
14
15
  gem 'bcrypt-ruby', '~> 3.0.0'
15
16
  gem 'mocha', '>= 0.12.1'
16
- gem 'sqlite3'
17
- gem 'debugger'
18
17
  end
data/Rakefile CHANGED
@@ -14,13 +14,13 @@ require 'rake'
14
14
  require 'jeweler'
15
15
  Jeweler::Tasks.new do |gem|
16
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "instructure-active_model-better_errors"
18
- gem.homepage = "http://github.com/codekitchen/active_model-better_errors"
17
+ gem.name = "active_model-better_errors"
18
+ gem.homepage = "http://github.com/aq1018/active_model-better_errors"
19
19
  gem.license = "MIT"
20
20
  gem.summary = %Q{API consumable error messages with ActiveModel::Errors drop-in compatibility.}
21
21
  gem.description = %Q{ActiveModel::Errors class is not designed for API consumption. This gem allows for that while keeping compatibility with existing rails API.}
22
- gem.email = ["aq1018@gmail.com", "byronanderson32@gmail.com", "brianp@instructure.com"]
23
- gem.authors = ["Aaron Qian", "Byron Anderson", "Brian Palmer"]
22
+ gem.email = ["aq1018@gmail.com", "byronanderson32@gmail.com"]
23
+ gem.authors = ["Aaron Qian", "Byron Anderson"]
24
24
  # dependencies defined in Gemfile
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.3.rails2.2
1
+ 1.6.3
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "instructure-active_model-better_errors"
8
- s.version = "1.6.3.rails2"
7
+ s.name = "active_model-better_errors"
8
+ s.version = "1.6.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Aaron Qian", "Byron Anderson", "Brian Palmer"]
12
- s.date = "2013-11-08"
11
+ s.authors = ["Aaron Qian", "Byron Anderson"]
12
+ s.date = "2013-01-23"
13
13
  s.description = "ActiveModel::Errors class is not designed for API consumption. This gem allows for that while keeping compatibility with existing rails API."
14
- s.email = ["aq1018@gmail.com", "byronanderson32@gmail.com", "brianp@instructure.com"]
14
+ s.email = ["aq1018@gmail.com", "byronanderson32@gmail.com"]
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.md"
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/active_model/better_errors.rb",
31
31
  "lib/active_model/error_collecting.rb",
32
32
  "lib/active_model/error_collecting/array_reporter.rb",
33
+ "lib/active_model/error_collecting/core_ext.rb",
33
34
  "lib/active_model/error_collecting/emulation.rb",
34
35
  "lib/active_model/error_collecting/error_collection.rb",
35
36
  "lib/active_model/error_collecting/error_message.rb",
@@ -61,7 +62,7 @@ Gem::Specification.new do |s|
61
62
  "spec/support/models.rb",
62
63
  "test/integration.rb"
63
64
  ]
64
- s.homepage = "http://github.com/codekitchen/active_model-better_errors"
65
+ s.homepage = "http://github.com/aq1018/active_model-better_errors"
65
66
  s.licenses = ["MIT"]
66
67
  s.require_paths = ["lib"]
67
68
  s.rubygems_version = "1.8.24"
@@ -71,6 +72,7 @@ Gem::Specification.new do |s|
71
72
  s.specification_version = 3
72
73
 
73
74
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
75
+ s.add_runtime_dependency(%q<activemodel>, ["~> 3.0"])
74
76
  s.add_development_dependency(%q<rake>, [">= 0"])
75
77
  s.add_development_dependency(%q<rspec>, ["~> 2.12.0"])
76
78
  s.add_development_dependency(%q<pry>, [">= 0"])
@@ -82,6 +84,7 @@ Gem::Specification.new do |s|
82
84
  s.add_development_dependency(%q<bcrypt-ruby>, ["~> 3.0.0"])
83
85
  s.add_development_dependency(%q<mocha>, [">= 0.12.1"])
84
86
  else
87
+ s.add_dependency(%q<activemodel>, ["~> 3.0"])
85
88
  s.add_dependency(%q<rake>, [">= 0"])
86
89
  s.add_dependency(%q<rspec>, ["~> 2.12.0"])
87
90
  s.add_dependency(%q<pry>, [">= 0"])
@@ -94,6 +97,7 @@ Gem::Specification.new do |s|
94
97
  s.add_dependency(%q<mocha>, [">= 0.12.1"])
95
98
  end
96
99
  else
100
+ s.add_dependency(%q<activemodel>, ["~> 3.0"])
97
101
  s.add_dependency(%q<rake>, [">= 0"])
98
102
  s.add_dependency(%q<rspec>, ["~> 2.12.0"])
99
103
  s.add_dependency(%q<pry>, [">= 0"])
@@ -1,17 +1,15 @@
1
1
  require 'forwardable'
2
2
 
3
- require 'active_support/core_ext'
3
+ require 'active_support/core_ext/string/inflections'
4
4
 
5
5
  require 'active_model/error_collecting'
6
6
 
7
- require 'active_record'
8
- require 'active_record/base'
9
- require 'active_record/validations'
7
+ require 'active_model/validations'
10
8
 
11
- module ActiveRecord
9
+ module ActiveModel
12
10
  module Validations
13
11
  def errors
14
- @errors ||= ActiveModel::ErrorCollecting::Errors.new(self)
12
+ @errors ||= ErrorCollecting::Errors.new(self)
15
13
  end
16
14
  end
17
15
  end
@@ -30,23 +30,21 @@ module ActiveModel
30
30
  end
31
31
 
32
32
  def add_on_empty(attributes, options = {})
33
- [attributes].flatten.each do |attr|
34
- value = @base.respond_to?(attr.to_s) ? @base.send(attr.to_s) : @base[attr.to_s]
33
+ [attributes].flatten.each do |attribute|
34
+ value = @base.send(:read_attribute_for_validation, attribute)
35
35
  is_empty = value.respond_to?(:empty?) ? value.empty? : false
36
- add(attr, :empty, options) if value.nil? || is_empty
36
+ add(attribute, :empty, options) if value.nil? || is_empty
37
37
  end
38
38
  end
39
39
 
40
40
  def add_on_blank(attributes, options = {})
41
- [attributes].flatten.each do |attr|
42
- value = @base.respond_to?(attr.to_s) ? @base.send(attr.to_s) : @base[attr.to_s]
43
- add(attr, :blank, options) if value.blank?
41
+ [attributes].flatten.each do |attribute|
42
+ value = @base.send(:read_attribute_for_validation, attribute)
43
+ add(attribute, :blank, options) if value.blank?
44
44
  end
45
45
  end
46
46
 
47
- def add(attribute, message=nil, options = nil)
48
- options ||= {}
49
- options = { message: options } unless options.is_a?(Hash)
47
+ def add(attribute, message=nil, options = {})
50
48
  if options[:strict]
51
49
  error = ErrorMessage.build(attribute, message, options)
52
50
  message = HumanMessageFormatter.new(@base, error).format_message
@@ -64,4 +62,4 @@ module ActiveModel
64
62
  end
65
63
  end
66
64
  end
67
- end
65
+ end
@@ -81,7 +81,7 @@ module ActiveModel
81
81
 
82
82
  def ==(other)
83
83
  return type == other if other.is_a?(Symbol)
84
- to_hash == other.to_hash
84
+ to_s == other.to_s
85
85
  end
86
86
  end
87
87
  end
@@ -23,7 +23,7 @@ module ActiveModel
23
23
 
24
24
  options = {
25
25
  :default => keys,
26
- :model => base.class.human_name,
26
+ :model => base.class.model_name.human,
27
27
  :attribute => base.class.human_attribute_name(attribute),
28
28
  :value => value
29
29
  }.merge(self.options)
@@ -35,7 +35,7 @@ module ActiveModel
35
35
 
36
36
  def value
37
37
  return if attribute == :base
38
- base.send :read_attribute, attribute
38
+ base.send :read_attribute_for_validation, attribute
39
39
  end
40
40
 
41
41
  def ancestor_keys
@@ -59,9 +59,7 @@ module ActiveModel
59
59
  end
60
60
 
61
61
  keys << :"errors.attributes.#{attribute}.#{type}"
62
- keys << :"activerecord.errors.attributes.#{attribute}.#{type}"
63
62
  keys << :"errors.messages.#{type}"
64
- keys << :"activerecord.errors.messages.#{type}"
65
63
 
66
64
  keys.compact!
67
65
  keys.flatten!
@@ -69,4 +67,4 @@ module ActiveModel
69
67
  end
70
68
  end
71
69
  end
72
- end
70
+ end
@@ -18,6 +18,8 @@ require 'active_model/error_collecting/machine_array_reporter'
18
18
  require 'active_model/error_collecting/emulation'
19
19
  require 'active_model/error_collecting/errors'
20
20
 
21
+ require 'active_model/error_collecting/core_ext'
22
+
21
23
  module ActiveModel
22
24
  module ErrorCollecting
23
25
  class << self
@@ -80,4 +80,17 @@ describe ActiveModel::ErrorCollecting::ErrorMessageSet do
80
80
  it { should be_false }
81
81
  end
82
82
  end
83
+
84
+ describe "#==" do
85
+ subject { errors == set }
86
+ let(:errors) { [:invalid] }
87
+ let(:expected) { ["is invalid"] }
88
+ specify do
89
+ set.should == expected
90
+ end
91
+
92
+ specify do
93
+ expected.should == set
94
+ end
95
+ end
83
96
  end
data/spec/spec_helper.rb CHANGED
@@ -3,28 +3,13 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
4
  require 'pry'
5
5
 
6
+ require 'active_model'
6
7
  require 'active_model/better_errors'
7
8
 
8
9
  # Requires supporting files with custom matchers and macros, etc,
9
10
  # in ./support/ and its subdirectories.
10
11
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
11
12
 
12
- def migrate_test_db
13
- ActiveRecord::Base.connection.create_table(:users) do |t|
14
- t.string :first_name
15
- t.string :last_name
16
- t.string :email
17
- end
18
- ActiveRecord::Base.connection.create_table(:rulers) do |t|
19
- t.int :length
20
- end
21
- end
22
-
23
13
  RSpec.configure do |config|
24
- config.before(:all) do
25
- ActiveRecord::Base.establish_connection(
26
- adapter: 'sqlite3',
27
- database: ':memory:')
28
- migrate_test_db
29
- end
14
+
30
15
  end
@@ -1,7 +1,28 @@
1
- class User < ActiveRecord::Base
2
- validates_presence_of :first_name, :last_name, message: "plz...?"
1
+ class BasicModel
2
+ extend ActiveModel::Naming
3
+ extend ActiveModel::Translation
4
+ include ActiveModel::Validations
5
+ include ActiveModel::Conversion
6
+
7
+ def initialize(params={})
8
+ params.each do |attr, value|
9
+ self.public_send("#{attr}=", value)
10
+ end
11
+ end
12
+
13
+ def persisted?
14
+ false
15
+ end
16
+ end
17
+
18
+ class User < BasicModel
19
+ attr_accessor :first_name, :last_name, :email
20
+
21
+ validates :first_name, :last_name, presence: { message: "plz...?" }
3
22
  end
4
23
 
5
- class Ruler < ActiveRecord::Base
24
+ class Ruler < BasicModel
25
+ attr_accessor :length
26
+
6
27
  validates_numericality_of :length, less_than_or_equal_to: 12, greater_than_or_equal_to: 4
7
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instructure-active_model-better_errors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3.rails2.2
4
+ version: 1.6.3.rails2.3
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-11-08 00:00:00.000000000 Z
14
+ date: 2013-12-02 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activerecord
@@ -291,7 +291,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
291
  version: '0'
292
292
  segments:
293
293
  - 0
294
- hash: -57061475421107857
294
+ hash: -3191008763557130119
295
295
  required_rubygems_version: !ruby/object:Gem::Requirement
296
296
  none: false
297
297
  requirements: