metamorpher 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 +4 -4
- data/README.md +2 -2
- data/RELEASES.md +3 -0
- data/examples/refactorings/rails/where_first/app.rb +1 -1
- data/lib/metamorpher/transformer/site.rb +4 -4
- data/lib/metamorpher/version.rb +1 -1
- data/metamorpher.gemspec +3 -3
- data/spec/unit/transformer/site_spec.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9237b01c385795b539eead5272e2f5b10da0478
|
4
|
+
data.tar.gz: 89bcc4a9e25d6e88ff60b8e138a3e8e6de3cb982
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd67aa280069e940f96e76e4ccc9f2dbdbe85517817402586a06c2ee082d3326aef52baf48e7d18ee3a12684ca7c31a1b6756d33c8d927d00a4dde4b5ffef200
|
7
|
+
data.tar.gz: 8f67538d34cf12a78b39c7e54409aa40915cc6f3d471798e6bed167c438e86736d77a2bbcd6264f76b7e408bbe56edf773c2e02e23ea2b6f94dbaa79706589c6
|
data/README.md
CHANGED
@@ -547,7 +547,7 @@ source = "a = if some_predicate then true else false end;" \
|
|
547
547
|
UnnecessaryConditionalRefactorer.new.refactor(source) do |refactoring|
|
548
548
|
puts "About to replace '#{refactoring.original_code}' " \
|
549
549
|
"at position #{refactoring.original_position} " \
|
550
|
-
"with '#{refactoring.
|
550
|
+
"with '#{refactoring.transformed_code}'"
|
551
551
|
end
|
552
552
|
# About to replace 'if some_predicate then true else false end' at position 4..45 with 'some_predicate'
|
553
553
|
# About to replace 'if some_other_predicate then true else false end' at position 51..98 with 'some_other_predicate'
|
@@ -586,7 +586,7 @@ UnnecessaryConditionalRefactorer.new.refactor_files(path) do |path, new_contents
|
|
586
586
|
sites.each do |site|
|
587
587
|
puts "\tAbout to replace '#{refactoring.original_code}' " \
|
588
588
|
"at position #{refactoring.original_position} " \
|
589
|
-
"with '#{refactoring.
|
589
|
+
"with '#{refactoring.transformed_code}'"
|
590
590
|
end
|
591
591
|
end
|
592
592
|
# In /Users/louis/code/mutiny/lib/mutiny.rb:
|
data/RELEASES.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
## v0.2.3 (14 August 2015)
|
4
|
+
* Prefer `Site#transformed_code` to `Site#refactored_code` as the latter is odd when a Site is produced during a mutation rather than a refactoring.
|
5
|
+
|
3
6
|
## v0.2.2 (4 June 2015)
|
4
7
|
* Provide whole match special variable (&) for derivations
|
5
8
|
* Provide sensible default logic (derive the value of their first argument) for derivations
|
@@ -40,7 +40,7 @@ puts "Refactoring in source directory: #{base}"
|
|
40
40
|
puts "In #{path}:"
|
41
41
|
|
42
42
|
changes.each do |change|
|
43
|
-
puts "\tAt #{change.original_position}, inserting:\n\t\t#{change.
|
43
|
+
puts "\tAt #{change.original_position}, inserting:\n\t\t#{change.transformed_code}"
|
44
44
|
puts ""
|
45
45
|
end
|
46
46
|
|
@@ -2,10 +2,10 @@ require "attributable"
|
|
2
2
|
|
3
3
|
module Metamorpher
|
4
4
|
module Transformer
|
5
|
-
Site = Struct.new(:original_position, :original_code, :
|
5
|
+
Site = Struct.new(:original_position, :original_code, :transformed_code) do
|
6
6
|
def slide(offset)
|
7
7
|
new_position = (original_position.begin + offset)..(original_position.end + offset)
|
8
|
-
Site.new(new_position, original_code,
|
8
|
+
Site.new(new_position, original_code, transformed_code)
|
9
9
|
end
|
10
10
|
|
11
11
|
def merge_into(destination)
|
@@ -13,12 +13,12 @@ module Metamorpher
|
|
13
13
|
fail ArgumentError, "Position #{original_position} does not exist in: #{destination}"
|
14
14
|
end
|
15
15
|
|
16
|
-
destination[original_position] =
|
16
|
+
destination[original_position] = transformed_code
|
17
17
|
destination
|
18
18
|
end
|
19
19
|
|
20
20
|
def offset
|
21
|
-
|
21
|
+
transformed_code.size - original_code.size
|
22
22
|
end
|
23
23
|
|
24
24
|
def <=>(other)
|
data/lib/metamorpher/version.rb
CHANGED
data/metamorpher.gemspec
CHANGED
@@ -22,9 +22,9 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency "parser", "~> 2.2.2"
|
23
23
|
spec.add_runtime_dependency "unparser", "~> 0.2.4"
|
24
24
|
|
25
|
-
spec.add_development_dependency "bundler", "~> 1.10.
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.10.3"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.4.2"
|
27
|
-
spec.add_development_dependency "rspec", "~> 3.
|
27
|
+
spec.add_development_dependency "rspec", "~> 3.3.0"
|
28
28
|
spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4.6"
|
29
|
-
spec.add_development_dependency "rubocop", "~> 0.
|
29
|
+
spec.add_development_dependency "rubocop", "~> 0.33.0"
|
30
30
|
end
|
@@ -12,7 +12,7 @@ module Metamorpher
|
|
12
12
|
|
13
13
|
it "should not alter the code" do
|
14
14
|
expect(subject.slide(2).original_code).to eq("foo")
|
15
|
-
expect(subject.slide(2).
|
15
|
+
expect(subject.slide(2).transformed_code).to eq("bar")
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should be chainable" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metamorpher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Louis Rose
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: attributable
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.10.
|
61
|
+
version: 1.10.3
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.10.
|
68
|
+
version: 1.10.3
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.
|
89
|
+
version: 3.3.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.
|
96
|
+
version: 3.3.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: codeclimate-test-reporter
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.33.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
124
|
+
version: 0.33.0
|
125
125
|
description: Provides structures that support program transformations, such as refactoring
|
126
126
|
or program mutation.
|
127
127
|
email:
|