active_comparison_validator 0.1.1 → 0.1.2

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