happymapper-differ 0.2.2 → 0.2.3

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: 0816ea085736d79ded4dd6de8003881d68a06655
4
- data.tar.gz: 838805d31086e7f2e515af86dae05c7754166678
3
+ metadata.gz: 3233b0e2d39c86aa6443168e2cd56a7dbd64d818
4
+ data.tar.gz: a6cffe46d35fde4268e9aaa51c076f94feb8199c
5
5
  SHA512:
6
- metadata.gz: 771b504f7b3dbd5f13607fa462565c262f9937569879e9dc6778511f97e14026e9ff1a57b91688273cff182414be423fc3495c6309164965a09b511de2cfaf2f
7
- data.tar.gz: 8eb3b6fbc013109a692298d2f8a4feeeec9d9c2e70b1f0058d839d7449da2dc6f4f436efb4fe5f31e645613d80d53b34d55e4745f0372cfbb4d0422b7537e54b
6
+ metadata.gz: ce86b99cb7a33a69b7b6cc699a29ff12a0f1a715a8d4fe68bab54b549f44bb081fd21eea9220be933138fa9576d9bc82b4f3f4b99d590df1edf4fc3b3514fa83
7
+ data.tar.gz: 06b6091ef455a487c7f2f66b5b2343d3bf7599be04d966d842c6daec3f305d389bd4fee17b17dd93ad7ece1d34c20c9383af78e463c8988a2f2e68e865edf243
data/CHANGELOG.md CHANGED
@@ -1,3 +1,3 @@
1
- ## Unreleased
2
- ### Changed
3
- - Removed cloning
1
+ ## 0.2.3
2
+
3
+ Support Ruby 2.4
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in goalkeeper.gemspec
3
+ # Specify your gem's dependencies in happymapper-differ.gemspec
4
4
  gemspec
@@ -1,6 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'happymapper'
4
5
  require 'happymapper_differ'
5
6
 
6
7
  Gem::Specification.new do |spec|
@@ -31,5 +32,6 @@ Gem::Specification.new do |spec|
31
32
 
32
33
  spec.add_development_dependency "byebug", "~> 3.5"
33
34
  spec.add_development_dependency "bundler", "~> 1.7"
35
+ spec.add_development_dependency "minitest"
34
36
  spec.add_development_dependency "rake", "~> 10.0"
35
37
  end
@@ -7,7 +7,7 @@ module HappyMapper
7
7
  # First step is map all nodes into a DiffedItem
8
8
  # Step two is present all the changes via DiffedItem.changes
9
9
  class Differ
10
- VERSION = "0.2.2"
10
+ VERSION = "0.2.3"
11
11
 
12
12
  def initialize(left, right)
13
13
  @left = left
@@ -89,11 +89,19 @@ module HappyMapper
89
89
  attr_accessor :compared
90
90
  alias_method :was, :compared
91
91
 
92
+ def self.ruby_2_3_or_older?
93
+ @ruby_2_3_or_older ||= Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4')
94
+ end
95
+
92
96
  def self.create(item, compared)
93
97
  begin
94
98
  # if the item can not be cloned, it will raise an exception
95
99
  # do not extend objects which can not be cloned
96
- item.clone
100
+ if ruby_2_3_or_older?
101
+ item.clone
102
+ else
103
+ item.clone(freeze: false)
104
+ end
97
105
  item.extend(DiffedItem)
98
106
  rescue
99
107
  # this item is a Float, Nil or other class that can not be extended
@@ -1,7 +1,4 @@
1
- require 'happymapper'
2
-
3
1
  # HappyMapper module imported from the nokogiri-happymapper gem
4
2
  module HappyMapper
5
3
  require 'happymapper/differ'
6
4
  end
7
-
@@ -28,7 +28,7 @@ describe HappyMapper::UnExtendable do
28
28
  let(:type) { nil }
29
29
  it { t.nil? }
30
30
  it "is comparable to a Float" do
31
- assert_equal t, nil
31
+ assert_nil t
32
32
  end
33
33
  end
34
34
  end
data/test/test_helper.rb CHANGED
@@ -1,8 +1,9 @@
1
- require 'minitest/unit'
2
1
  require 'minitest/autorun'
2
+ require 'minitest/unit'
3
3
  require 'minitest/pride'
4
4
  require './lib/happymapper_differ'
5
5
  require 'byebug'
6
+ require 'happymapper'
6
7
 
7
8
  class TParent
8
9
  include HappyMapper
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: happymapper-differ
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Weir
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-08 00:00:00.000000000 Z
11
+ date: 2018-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri-happymapper
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -111,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
125
  version: '0'
112
126
  requirements: []
113
127
  rubyforge_project:
114
- rubygems_version: 2.2.2
128
+ rubygems_version: 2.6.14.1
115
129
  signing_key:
116
130
  specification_version: 4
117
131
  summary: Find changes between two like HappyMapper objects
@@ -121,4 +135,3 @@ test_files:
121
135
  - test/happymapper/un_extendable_test.rb
122
136
  - test/happymapper_differ_test.rb
123
137
  - test/test_helper.rb
124
- has_rdoc: