active_comparison_validator 0.1.1 → 0.1.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d3c7d9d23c401e33f9d225d1e9e708e2d085edc7
4
- data.tar.gz: ae869f414ddfb8b95884266a6cda578301aad729
3
+ metadata.gz: 555696c870e739aab3bf4157be8d60fe0d6b058c
4
+ data.tar.gz: 9ab7a249371e28f1be8183463ce9895de0c14461
5
5
  SHA512:
6
- metadata.gz: 25cb15bbe0b03a3e5e6b263a34197a1534ea27b185dca7ff65e92a79dc4998716381d6a23aa6adaad210fd116b9d433ae2d4aead817050b164aa3ca95e01d41b
7
- data.tar.gz: 79fe2037f13ad74b52c54f53e33349e28bc2cf8a9b66c96c657f937554d836e3c9a1a53b0c68fc1ceff4fd3bc9e22fc256fc19f886d5631ce59d2cc5fb31d679
6
+ metadata.gz: a1df0185130513ee3f518ce8ac6c4e06ad2832ed2c2678668ff84d57bb2d87ad3d512fd914c9aa5afdcc026c965b979f4e1f483830f86ce9c288ce72c9db95d1
7
+ data.tar.gz: 611ad287aa04ce18339bb4ae89e3f8ee9a268e5b7d912bbfc1d8f1ab766acad1eacde027f2df4a78480694f9691b1381163add564154211b92d326b03033ab46
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -3,32 +3,28 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'active_comparison_validator/version'
5
5
 
6
- Gem::Specification.new do |spec|
7
- spec.name = "active_comparison_validator"
8
- spec.version = ActiveComparisonValidator::VERSION
9
- spec.authors = ["onodera"]
10
- spec.email = ["s1160054@gmail.com"]
6
+ Gem::Specification.new do |s|
7
+ s.name = 'active_comparison_validator'
8
+ s.version = ActiveComparisonValidator::VERSION
9
+ s.authors = ['onodera']
10
+ s.email = ['s1160054@gmail.com']
11
11
 
12
- spec.summary = %q{Dynamically add validation for compare the column and the other column.}
13
- spec.description = %q{This gem provides a macro for comparing the column and the other column of the record. Type of the comparable column is Date Time Numeric, and all that jazz.}
14
- spec.homepage = "https://github.com/s1160054/active_comparison_validator"
15
- spec.license = "MIT"
12
+ s.summary = 'Dynamically add validation for compare the column and the other column.'
13
+ s.description = 'This gem provides a macro for comparing the column and the other column of the record. Type of the comparable column is Date Time Numeric, and all that jazz.'
14
+ s.homepage = 'https://github.com/s1160054/active_comparison_validator'
15
+ s.license = 'MIT'
16
16
 
17
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
18
- # delete this section to allow pushing this gem to any host.
19
- #if spec.respond_to?(:metadata)
20
- # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
21
- #else
22
- # raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
23
- #end
17
+ s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ s.bindir = 'exe'
19
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ s.require_paths = ['lib']
24
21
 
25
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
- spec.bindir = "exe"
27
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
- spec.require_paths = ["lib"]
22
+ s.add_dependency 'activesupport', '>= 4.0.0'
23
+ s.add_dependency 'activerecord', '>= 4.0.0'
29
24
 
30
- spec.add_development_dependency "bundler", "~> 1.10"
31
- spec.add_development_dependency "rake", "~> 10.0"
32
- spec.add_development_dependency "rspec"
33
- spec.add_development_dependency "rails"
25
+ s.add_development_dependency 'rails', '>= 4.0.0'
26
+ s.add_development_dependency 'bundler', '~> 1.10'
27
+ s.add_development_dependency 'rake', '~> 10.0'
28
+ s.add_development_dependency 'rspec', '~> 3.2.0'
29
+ s.add_development_dependency 'pry'
34
30
  end
data/bin/console CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "active_comparison_validator"
3
+ require 'bundler/setup'
4
+ require 'active_comparison_validator'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +10,5 @@ require "active_comparison_validator"
10
10
  # require "pry"
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start
@@ -1,10 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
- require "active_comparison_validator/version.rb"
2
+ require 'active_comparison_validator/version.rb'
3
+ require 'active_record'
3
4
  require 'active_support/concern'
5
+ require 'active_support/core_ext/object/with_options'
6
+ require 'active_support/core_ext/array/access'
7
+ require 'i18n'
4
8
 
5
9
  module ActiveComparisonValidator
6
10
  extend ActiveSupport::Concern
7
-
8
11
  module ClassMethods
9
12
  # Verified: that A is greater than B.
10
13
  # @param [String] field_a_<_field_b This string is field_name, operator_name and field_name
@@ -41,21 +44,23 @@ module ActiveComparisonValidator
41
44
  locals = {
42
45
  :< => [:greater_than, :less_than, :count],
43
46
  :<= => [:greater_than_or_equal_to, :less_than_or_equal_to, :count],
44
- :< => [:less_than, :greater_than, :count],
45
- :<= => [:less_than_or_equal_to, :greater_than_or_equal_to, :count],
47
+ :> => [:less_than, :greater_than, :count],
48
+ :>= => [:less_than_or_equal_to, :greater_than_or_equal_to, :count],
46
49
  :== => [:confirmation, :confirmation, :attribute],
47
- :!= => [:other_than, :other_than, :attribute],
50
+ :!= => [:other_than, :other_than, :attribute]
48
51
  }
52
+ return unless locals.key?(operator)
49
53
  return if a_value.send(operator, to_value)
50
54
  a_value_human = { locals[operator].last => self.class.human_attribute_name(a_attr) }
51
55
  b_value_human = { locals[operator].last => self.class.human_attribute_name(b_attr) }
56
+
52
57
  I18n.with_options scope: 'errors.messages' do |locale|
53
58
  errors.add(b_attr, locale.t(locals[operator].first, a_value_human))
54
59
  errors.add(a_attr, locale.t(locals[operator].second, b_value_human))
55
60
  end
56
61
  end
57
- config = %{validate :#{method_name}}
58
- self.class_eval(config)
62
+ config = %(validate :#{method_name})
63
+ class_eval(config)
59
64
  end
60
65
  end
61
66
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveComparisonValidator
2
- VERSION = "0.1.1"
2
+ VERSION = '0.1.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_comparison_validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - onodera
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-22 00:00:00.000000000 Z
11
+ date: 2016-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 4.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 4.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 4.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 4.0.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 4.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 4.0.0
13
55
  - !ruby/object:Gem::Dependency
14
56
  name: bundler
15
57
  requirement: !ruby/object:Gem::Requirement
@@ -42,18 +84,18 @@ dependencies:
42
84
  name: rspec
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
- - - ">="
87
+ - - "~>"
46
88
  - !ruby/object:Gem::Version
47
- version: '0'
89
+ version: 3.2.0
48
90
  type: :development
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
- - - ">="
94
+ - - "~>"
53
95
  - !ruby/object:Gem::Version
54
- version: '0'
96
+ version: 3.2.0
55
97
  - !ruby/object:Gem::Dependency
56
- name: rails
98
+ name: pry
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - ">="