mutant 0.8.24 → 0.9.0

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.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +3 -3
  3. data/Changelog.md +14 -654
  4. data/Gemfile +13 -0
  5. data/Gemfile.lock +59 -64
  6. data/LICENSE +271 -20
  7. data/README.md +73 -140
  8. data/Rakefile +0 -21
  9. data/bin/mutant +7 -2
  10. data/config/reek.yml +2 -1
  11. data/config/rubocop.yml +5 -9
  12. data/docs/incremental.md +76 -0
  13. data/docs/known-problems.md +0 -14
  14. data/docs/mutant-minitest.md +1 -1
  15. data/docs/mutant-rspec.md +2 -24
  16. data/lib/mutant.rb +45 -53
  17. data/lib/mutant/ast/nodes.rb +0 -2
  18. data/lib/mutant/ast/types.rb +1 -117
  19. data/lib/mutant/base.rb +192 -0
  20. data/lib/mutant/bootstrap.rb +145 -0
  21. data/lib/mutant/cli.rb +68 -54
  22. data/lib/mutant/config.rb +119 -6
  23. data/lib/mutant/env.rb +94 -8
  24. data/lib/mutant/expression.rb +6 -1
  25. data/lib/mutant/expression/parser.rb +9 -31
  26. data/lib/mutant/integration.rb +64 -36
  27. data/lib/mutant/isolation.rb +16 -1
  28. data/lib/mutant/isolation/fork.rb +105 -40
  29. data/lib/mutant/license.rb +34 -0
  30. data/lib/mutant/license/subscription.rb +47 -0
  31. data/lib/mutant/license/subscription/commercial.rb +57 -0
  32. data/lib/mutant/license/subscription/opensource.rb +77 -0
  33. data/lib/mutant/loader.rb +27 -4
  34. data/lib/mutant/matcher.rb +48 -1
  35. data/lib/mutant/matcher/chain.rb +1 -1
  36. data/lib/mutant/matcher/config.rb +0 -2
  37. data/lib/mutant/matcher/filter.rb +1 -1
  38. data/lib/mutant/matcher/method.rb +11 -7
  39. data/lib/mutant/matcher/methods.rb +1 -1
  40. data/lib/mutant/matcher/namespace.rb +1 -1
  41. data/lib/mutant/matcher/null.rb +1 -1
  42. data/lib/mutant/matcher/scope.rb +1 -1
  43. data/lib/mutant/meta/example/dsl.rb +0 -8
  44. data/lib/mutant/mutation.rb +1 -2
  45. data/lib/mutant/mutator/node.rb +2 -9
  46. data/lib/mutant/mutator/node/arguments.rb +1 -1
  47. data/lib/mutant/mutator/node/class.rb +0 -8
  48. data/lib/mutant/mutator/node/define.rb +0 -12
  49. data/lib/mutant/mutator/node/generic.rb +30 -44
  50. data/lib/mutant/mutator/node/index.rb +4 -4
  51. data/lib/mutant/mutator/node/literal/regex.rb +0 -39
  52. data/lib/mutant/mutator/node/send.rb +13 -12
  53. data/lib/mutant/parallel.rb +61 -40
  54. data/lib/mutant/parallel/driver.rb +59 -0
  55. data/lib/mutant/parallel/source.rb +6 -2
  56. data/lib/mutant/parallel/worker.rb +63 -45
  57. data/lib/mutant/range.rb +15 -0
  58. data/lib/mutant/reporter/cli.rb +5 -11
  59. data/lib/mutant/reporter/cli/format.rb +3 -46
  60. data/lib/mutant/reporter/cli/printer/config.rb +5 -6
  61. data/lib/mutant/reporter/cli/printer/env.rb +40 -0
  62. data/lib/mutant/reporter/cli/printer/env_progress.rb +13 -17
  63. data/lib/mutant/reporter/cli/printer/isolation_result.rb +17 -3
  64. data/lib/mutant/reporter/cli/printer/mutation_result.rb +2 -3
  65. data/lib/mutant/reporter/cli/printer/status_progressive.rb +19 -10
  66. data/lib/mutant/repository.rb +0 -65
  67. data/lib/mutant/repository/diff.rb +104 -0
  68. data/lib/mutant/repository/diff/ranges.rb +52 -0
  69. data/lib/mutant/result.rb +16 -7
  70. data/lib/mutant/runner.rb +38 -47
  71. data/lib/mutant/runner/sink.rb +1 -1
  72. data/lib/mutant/selector/null.rb +19 -0
  73. data/lib/mutant/subject.rb +3 -1
  74. data/lib/mutant/subject/method/instance.rb +3 -1
  75. data/lib/mutant/transform.rb +511 -0
  76. data/lib/mutant/variable.rb +282 -0
  77. data/lib/mutant/version.rb +1 -1
  78. data/lib/mutant/warnings.rb +113 -0
  79. data/meta/case.rb +1 -0
  80. data/meta/class.rb +0 -9
  81. data/meta/def.rb +1 -26
  82. data/meta/regexp.rb +10 -20
  83. data/meta/send.rb +14 -46
  84. data/mutant-minitest.gemspec +1 -1
  85. data/mutant-rspec.gemspec +2 -2
  86. data/mutant.gemspec +15 -16
  87. data/mutant.yml +6 -0
  88. data/spec/integration/mutant/isolation/fork_spec.rb +22 -5
  89. data/spec/integration/mutant/minitest_spec.rb +3 -2
  90. data/spec/integration/mutant/rspec_spec.rb +4 -3
  91. data/spec/integrations.yml +16 -13
  92. data/spec/shared/base_behavior.rb +45 -0
  93. data/spec/shared/framework_integration_behavior.rb +43 -14
  94. data/spec/spec_helper.rb +21 -17
  95. data/spec/support/corpus.rb +56 -95
  96. data/spec/support/shared_context.rb +37 -14
  97. data/spec/support/xspec.rb +7 -3
  98. data/spec/unit/mutant/bootstrap_spec.rb +216 -0
  99. data/spec/unit/mutant/cli_spec.rb +173 -117
  100. data/spec/unit/mutant/config_spec.rb +126 -0
  101. data/spec/unit/mutant/either_spec.rb +247 -0
  102. data/spec/unit/mutant/env_spec.rb +162 -40
  103. data/spec/unit/mutant/expression/method_spec.rb +16 -0
  104. data/spec/unit/mutant/expression/parser_spec.rb +29 -33
  105. data/spec/unit/mutant/expression_spec.rb +5 -7
  106. data/spec/unit/mutant/integration_spec.rb +100 -9
  107. data/spec/unit/mutant/isolation/fork_spec.rb +125 -67
  108. data/spec/unit/mutant/isolation/result_spec.rb +33 -1
  109. data/spec/unit/mutant/license_spec.rb +257 -0
  110. data/spec/unit/mutant/loader_spec.rb +50 -11
  111. data/spec/unit/mutant/matcher/compiler_spec.rb +0 -78
  112. data/spec/unit/mutant/matcher/method/instance_spec.rb +55 -11
  113. data/spec/unit/mutant/matcher/method/singleton_spec.rb +12 -2
  114. data/spec/unit/mutant/matcher_spec.rb +102 -0
  115. data/spec/unit/mutant/maybe_spec.rb +60 -0
  116. data/spec/unit/mutant/meta/example/dsl_spec.rb +1 -17
  117. data/spec/unit/mutant/mutation_spec.rb +13 -6
  118. data/spec/unit/mutant/parallel/driver_spec.rb +112 -14
  119. data/spec/unit/mutant/parallel/source/array_spec.rb +25 -17
  120. data/spec/unit/mutant/parallel/worker_spec.rb +182 -44
  121. data/spec/unit/mutant/parallel_spec.rb +105 -8
  122. data/spec/unit/mutant/range_spec.rb +141 -0
  123. data/spec/unit/mutant/reporter/cli/printer/config_spec.rb +7 -21
  124. data/spec/unit/mutant/reporter/cli/printer/env_progress_spec.rb +15 -6
  125. data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +10 -2
  126. data/spec/unit/mutant/reporter/cli/printer/isolation_result_spec.rb +12 -4
  127. data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +31 -2
  128. data/spec/unit/mutant/reporter/cli/printer/status_progressive_spec.rb +4 -4
  129. data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +5 -0
  130. data/spec/unit/mutant/reporter/cli_spec.rb +46 -123
  131. data/spec/unit/mutant/repository/diff/ranges_spec.rb +180 -0
  132. data/spec/unit/mutant/repository/diff_spec.rb +84 -71
  133. data/spec/unit/mutant/require_highjack_spec.rb +1 -1
  134. data/spec/unit/mutant/result/env_spec.rb +39 -9
  135. data/spec/unit/mutant/result/test_spec.rb +14 -0
  136. data/spec/unit/mutant/runner_spec.rb +88 -41
  137. data/spec/unit/mutant/selector/expression_spec.rb +11 -10
  138. data/spec/unit/mutant/selector/null_spec.rb +17 -0
  139. data/spec/unit/mutant/subject/method/instance_spec.rb +44 -5
  140. data/spec/unit/mutant/subject/method/singleton_spec.rb +9 -2
  141. data/spec/unit/mutant/subject_spec.rb +9 -1
  142. data/spec/unit/mutant/transform/array_spec.rb +92 -0
  143. data/spec/unit/mutant/transform/bool_spec.rb +63 -0
  144. data/spec/unit/mutant/transform/error_spec.rb +132 -0
  145. data/spec/unit/mutant/transform/exception_spec.rb +44 -0
  146. data/spec/unit/mutant/transform/hash_spec.rb +236 -0
  147. data/spec/unit/mutant/transform/index_spec.rb +92 -0
  148. data/spec/unit/mutant/transform/named_spec.rb +49 -0
  149. data/spec/unit/mutant/transform/primitive_spec.rb +56 -0
  150. data/spec/unit/mutant/transform/sequence_spec.rb +98 -0
  151. data/spec/unit/mutant/variable_spec.rb +618 -0
  152. data/spec/unit/mutant/warnings_spec.rb +89 -0
  153. data/spec/unit/mutant/world_spec.rb +63 -0
  154. data/test_app/Gemfile.minitest +0 -2
  155. metadata +79 -113
  156. data/.gitattributes +0 -1
  157. data/.ruby-gemset +0 -1
  158. data/config/triage.yml +0 -2
  159. data/lib/mutant/actor.rb +0 -57
  160. data/lib/mutant/actor/env.rb +0 -31
  161. data/lib/mutant/actor/mailbox.rb +0 -34
  162. data/lib/mutant/actor/receiver.rb +0 -42
  163. data/lib/mutant/actor/sender.rb +0 -26
  164. data/lib/mutant/ast/meta/restarg.rb +0 -19
  165. data/lib/mutant/ast/regexp.rb +0 -42
  166. data/lib/mutant/ast/regexp/transformer.rb +0 -187
  167. data/lib/mutant/ast/regexp/transformer/direct.rb +0 -123
  168. data/lib/mutant/ast/regexp/transformer/named_group.rb +0 -59
  169. data/lib/mutant/ast/regexp/transformer/options_group.rb +0 -83
  170. data/lib/mutant/ast/regexp/transformer/quantifier.rb +0 -114
  171. data/lib/mutant/ast/regexp/transformer/recursive.rb +0 -58
  172. data/lib/mutant/ast/regexp/transformer/root.rb +0 -31
  173. data/lib/mutant/ast/regexp/transformer/text.rb +0 -60
  174. data/lib/mutant/env/bootstrap.rb +0 -160
  175. data/lib/mutant/matcher/compiler.rb +0 -60
  176. data/lib/mutant/mutator/node/regexp.rb +0 -35
  177. data/lib/mutant/mutator/node/regexp/alternation_meta.rb +0 -23
  178. data/lib/mutant/mutator/node/regexp/capture_group.rb +0 -28
  179. data/lib/mutant/mutator/node/regexp/character_type.rb +0 -32
  180. data/lib/mutant/mutator/node/regexp/end_of_line_anchor.rb +0 -23
  181. data/lib/mutant/mutator/node/regexp/end_of_string_or_before_end_of_line_anchor.rb +0 -23
  182. data/lib/mutant/mutator/node/regexp/greedy_zero_or_more.rb +0 -27
  183. data/lib/mutant/parallel/master.rb +0 -181
  184. data/lib/mutant/reporter/cli/printer/status.rb +0 -53
  185. data/lib/mutant/reporter/cli/tput.rb +0 -46
  186. data/lib/mutant/warning_filter.rb +0 -61
  187. data/meta/regexp/character_types.rb +0 -23
  188. data/meta/regexp/regexp_alternation_meta.rb +0 -13
  189. data/meta/regexp/regexp_bol_anchor.rb +0 -10
  190. data/meta/regexp/regexp_bos_anchor.rb +0 -18
  191. data/meta/regexp/regexp_capture_group.rb +0 -19
  192. data/meta/regexp/regexp_eol_anchor.rb +0 -10
  193. data/meta/regexp/regexp_eos_anchor.rb +0 -8
  194. data/meta/regexp/regexp_eos_ob_eol_anchor.rb +0 -10
  195. data/meta/regexp/regexp_greedy_zero_or_more.rb +0 -12
  196. data/meta/regexp/regexp_root_expression.rb +0 -10
  197. data/meta/restarg.rb +0 -10
  198. data/spec/support/fake_actor.rb +0 -111
  199. data/spec/support/warning.rb +0 -66
  200. data/spec/unit/mutant/actor/binding_spec.rb +0 -34
  201. data/spec/unit/mutant/actor/env_spec.rb +0 -31
  202. data/spec/unit/mutant/actor/mailbox_spec.rb +0 -28
  203. data/spec/unit/mutant/actor/message_spec.rb +0 -25
  204. data/spec/unit/mutant/actor/receiver_spec.rb +0 -58
  205. data/spec/unit/mutant/actor/sender_spec.rb +0 -24
  206. data/spec/unit/mutant/ast/regexp/parse_spec.rb +0 -19
  207. data/spec/unit/mutant/ast/regexp/transformer/lookup_table/table_spec.rb +0 -21
  208. data/spec/unit/mutant/ast/regexp/transformer/lookup_table_spec.rb +0 -35
  209. data/spec/unit/mutant/ast/regexp/transformer_spec.rb +0 -21
  210. data/spec/unit/mutant/ast/regexp_spec.rb +0 -704
  211. data/spec/unit/mutant/env/bootstrap_spec.rb +0 -188
  212. data/spec/unit/mutant/matcher/compiler/subject_prefix_spec.rb +0 -26
  213. data/spec/unit/mutant/parallel/master_spec.rb +0 -338
  214. data/spec/unit/mutant/reporter/cli/printer/status_spec.rb +0 -121
  215. data/spec/unit/mutant/reporter/cli/tput_spec.rb +0 -50
  216. data/spec/unit/mutant/warning_filter_spec.rb +0 -106
  217. data/spec/unit/mutant_spec.rb +0 -17
  218. data/test_app/Gemfile.rspec3.7 +0 -7
data/Gemfile CHANGED
@@ -5,3 +5,16 @@ source 'https://rubygems.org'
5
5
  gemspec name: 'mutant'
6
6
 
7
7
  eval_gemfile File.expand_path('Gemfile.shared', __dir__)
8
+
9
+ gem(
10
+ 'devtools',
11
+ git: 'https://github.com/mbj/devtools.git',
12
+ ref: '26ba0a1053e6cf7b79fc72d513a73457f9a38ead'
13
+ )
14
+
15
+ # Mutant itself uses an opensource license key.
16
+ # Scoped to https://github.com/mbj/mutant it'll
17
+ # not be useful elsewhere.
18
+ source 'https://oss:Px2ENN7S91OmWaD5G7MIQJi1dmtmYrEh@gem.mutant.dev' do
19
+ gem 'mutant-license'
20
+ end
@@ -1,33 +1,53 @@
1
+ GIT
2
+ remote: https://github.com/mbj/devtools.git
3
+ revision: 26ba0a1053e6cf7b79fc72d513a73457f9a38ead
4
+ ref: 26ba0a1053e6cf7b79fc72d513a73457f9a38ead
5
+ specs:
6
+ devtools (0.1.23)
7
+ abstract_type (~> 0.0.7)
8
+ adamantium (~> 0.2.0)
9
+ anima (~> 0.3.0)
10
+ concord (~> 0.1.5)
11
+ flay (~> 2.12.0)
12
+ flog (~> 4.6.2)
13
+ procto (~> 0.0.3)
14
+ rake (~> 12.3.0)
15
+ reek (~> 5.3.0)
16
+ rspec (~> 3.8.0)
17
+ rspec-core (~> 3.8.0)
18
+ rspec-its (~> 1.2.0)
19
+ rubocop (~> 0.61.1)
20
+ simplecov (~> 0.16.1)
21
+ yard (~> 0.9.16)
22
+ yardstick (~> 0.9.9)
23
+
1
24
  PATH
2
25
  remote: .
3
26
  specs:
4
- mutant (0.8.24)
27
+ mutant (0.9.0)
5
28
  abstract_type (~> 0.0.7)
6
29
  adamantium (~> 0.2.0)
7
- anima (~> 0.3.0)
30
+ anima (~> 0.3.1)
8
31
  ast (~> 2.2)
9
32
  concord (~> 0.1.5)
10
33
  diff-lcs (~> 1.3)
11
34
  equalizer (~> 0.0.9)
12
35
  ice_nine (~> 0.11.1)
13
36
  memoizable (~> 0.4.2)
14
- morpher (~> 0.2.6)
15
- parser (~> 2.5.1)
37
+ mutant-license (~> 0.1.0)
38
+ parser (= 2.6.3)
16
39
  procto (~> 0.0.2)
17
- regexp_parser (~> 1.2)
18
- unparser (~> 0.4.2)
19
- mutant-rspec (0.8.24)
20
- mutant (~> 0.8.24)
21
- rspec-core (>= 3.4.0, < 4.0.0)
40
+ unparser (~> 0.4.5)
22
41
 
23
42
  GEM
24
43
  remote: https://rubygems.org/
44
+ remote: https://oss:Px2ENN7S91OmWaD5G7MIQJi1dmtmYrEh@gem.mutant.dev/
25
45
  specs:
26
46
  abstract_type (0.0.7)
27
47
  adamantium (0.2.0)
28
48
  ice_nine (~> 0.11.0)
29
49
  memoizable (~> 0.4.0)
30
- anima (0.3.0)
50
+ anima (0.3.1)
31
51
  abstract_type (~> 0.0.7)
32
52
  adamantium (~> 0.2)
33
53
  equalizer (~> 0.0.11)
@@ -45,84 +65,58 @@ GEM
45
65
  equalizer (~> 0.0.9)
46
66
  descendants_tracker (0.0.4)
47
67
  thread_safe (~> 0.3, >= 0.3.1)
48
- devtools (0.1.22)
49
- abstract_type (~> 0.0.7)
50
- adamantium (~> 0.2.0)
51
- anima (~> 0.3.0)
52
- concord (~> 0.1.5)
53
- flay (~> 2.12.0)
54
- flog (~> 4.6.2)
55
- mutant (~> 0.8.19)
56
- mutant-rspec (~> 0.8.19)
57
- procto (~> 0.0.3)
58
- rake (~> 12.3.0)
59
- reek (~> 5.2.0)
60
- rspec (~> 3.8.0)
61
- rspec-core (~> 3.8.0)
62
- rspec-its (~> 1.2.0)
63
- rubocop (~> 0.60.0)
64
- simplecov (~> 0.16.1)
65
- yard (~> 0.9.16)
66
- yardstick (~> 0.9.9)
67
68
  diff-lcs (1.3)
68
- docile (1.3.1)
69
+ docile (1.3.2)
69
70
  equalizer (0.0.11)
70
71
  erubis (2.7.0)
71
- flay (2.12.0)
72
+ flay (2.12.1)
72
73
  erubis (~> 2.7.0)
73
74
  path_expander (~> 1.0)
74
75
  ruby_parser (~> 3.0)
75
76
  sexp_processor (~> 4.0)
76
- flog (4.6.2)
77
+ flog (4.6.4)
77
78
  path_expander (~> 1.0)
78
79
  ruby_parser (~> 3.1, > 3.1.0)
79
80
  sexp_processor (~> 4.8)
80
81
  ice_nine (0.11.2)
81
- jaro_winkler (1.5.1)
82
- json (2.1.0)
82
+ jaro_winkler (1.5.4)
83
+ json (2.3.0)
83
84
  kwalify (0.7.2)
84
85
  memoizable (0.4.2)
85
86
  thread_safe (~> 0.3, >= 0.3.1)
86
- morpher (0.2.6)
87
- abstract_type (~> 0.0.7)
88
- adamantium (~> 0.2.0)
89
- anima (~> 0.3.0)
90
- ast (~> 2.2)
91
- concord (~> 0.1.5)
92
- equalizer (~> 0.0.9)
93
- ice_nine (~> 0.11.0)
94
- procto (~> 0.0.2)
95
- parallel (1.12.1)
96
- parser (2.5.3.0)
87
+ mutant-license (0.1.0)
88
+ parallel (1.19.1)
89
+ parser (2.6.3.0)
97
90
  ast (~> 2.4.0)
98
- path_expander (1.0.3)
91
+ path_expander (1.1.0)
99
92
  powerpack (0.1.2)
100
93
  procto (0.0.3)
94
+ psych (3.1.0)
101
95
  rainbow (3.0.0)
102
- rake (12.3.1)
103
- reek (5.2.0)
96
+ rake (12.3.3)
97
+ reek (5.3.2)
104
98
  codeclimate-engine-rb (~> 0.4.0)
105
99
  kwalify (~> 0.7.0)
106
- parser (>= 2.5.0.0, < 2.6, != 2.5.1.1)
100
+ parser (>= 2.5.0.0, < 2.7, != 2.5.1.1)
101
+ psych (~> 3.1.0)
107
102
  rainbow (>= 2.0, < 4.0)
108
- regexp_parser (1.3.0)
109
103
  rspec (3.8.0)
110
104
  rspec-core (~> 3.8.0)
111
105
  rspec-expectations (~> 3.8.0)
112
106
  rspec-mocks (~> 3.8.0)
113
- rspec-core (3.8.0)
107
+ rspec-core (3.8.2)
114
108
  rspec-support (~> 3.8.0)
115
- rspec-expectations (3.8.2)
109
+ rspec-expectations (3.8.6)
116
110
  diff-lcs (>= 1.2.0, < 2.0)
117
111
  rspec-support (~> 3.8.0)
118
112
  rspec-its (1.2.0)
119
113
  rspec-core (>= 3.0.0)
120
114
  rspec-expectations (>= 3.0.0)
121
- rspec-mocks (3.8.0)
115
+ rspec-mocks (3.8.2)
122
116
  diff-lcs (>= 1.2.0, < 2.0)
123
117
  rspec-support (~> 3.8.0)
124
- rspec-support (3.8.0)
125
- rubocop (0.60.0)
118
+ rspec-support (3.8.3)
119
+ rubocop (0.61.1)
126
120
  jaro_winkler (~> 1.5.1)
127
121
  parallel (~> 1.10)
128
122
  parser (>= 2.5, != 2.5.1.1)
@@ -130,31 +124,31 @@ GEM
130
124
  rainbow (>= 2.2.2, < 4.0)
131
125
  ruby-progressbar (~> 1.7)
132
126
  unicode-display_width (~> 1.4.0)
133
- ruby-progressbar (1.10.0)
134
- ruby_parser (3.11.0)
127
+ ruby-progressbar (1.10.1)
128
+ ruby_parser (3.14.1)
135
129
  sexp_processor (~> 4.9)
136
- sexp_processor (4.11.0)
130
+ sexp_processor (4.13.0)
137
131
  simplecov (0.16.1)
138
132
  docile (~> 1.1)
139
133
  json (>= 1.8, < 3)
140
134
  simplecov-html (~> 0.10.0)
141
135
  simplecov-html (0.10.2)
142
136
  thread_safe (0.3.6)
143
- unicode-display_width (1.4.0)
144
- unparser (0.4.2)
137
+ unicode-display_width (1.4.1)
138
+ unparser (0.4.5)
145
139
  abstract_type (~> 0.0.7)
146
140
  adamantium (~> 0.2.0)
147
141
  concord (~> 0.1.5)
148
142
  diff-lcs (~> 1.3)
149
143
  equalizer (~> 0.0.9)
150
- parser (>= 2.3.1.2, < 2.6)
144
+ parser (~> 2.6.3)
151
145
  procto (~> 0.0.2)
152
146
  virtus (1.0.5)
153
147
  axiom-types (~> 0.1)
154
148
  coercible (~> 1.0)
155
149
  descendants_tracker (~> 0.0, >= 0.0.3)
156
150
  equalizer (~> 0.0, >= 0.0.9)
157
- yard (0.9.16)
151
+ yard (0.9.22)
158
152
  yardstick (0.9.9)
159
153
  yard (~> 0.8, >= 0.8.7.2)
160
154
 
@@ -162,9 +156,10 @@ PLATFORMS
162
156
  ruby
163
157
 
164
158
  DEPENDENCIES
165
- devtools (~> 0.1.22)
159
+ devtools!
166
160
  mutant!
161
+ mutant-license!
167
162
  parallel (~> 1.3)
168
163
 
169
164
  BUNDLED WITH
170
- 1.17.1
165
+ 1.17.3
data/LICENSE CHANGED
@@ -1,20 +1,271 @@
1
- Copyright (c) 2012-2014 Markus Schirp
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ END-USER LICENSE AGREEMENT
2
+
3
+ ------------------------------------------------------------------------------
4
+
5
+ IMPORTANT: THIS SOFTWARE END-USER LICENSE AGREEMENT ("EULA") IS A LEGAL
6
+ AGREEMENT (“Agreement”) BETWEEN YOU (THE CUSTOMER, EITHER AS AN INDIVIDUAL OR,
7
+ IF PURCHASED OR OTHERWISE ACQUIRED BY OR FOR AN ENTITY, AS AN ENTITY) AND
8
+ CONTRIBUTED SYSTEMS. READ IT CAREFULLY BEFORE COMPLETING THE INSTALLATION
9
+ PROCESS AND USING SIDEKIQ PRO AND RELATED SOFTWARE COMPONENTS (“SOFTWARE”).
10
+
11
+ IT PROVIDES A LICENSE TO USE THE SOFTWARE AND CONTAINS WARRANTY INFORMATION
12
+ AND LIABILITY DISCLAIMERS. BY INSTALLING AND USING THE SOFTWARE, YOU ARE
13
+ CONFIRMING YOUR ACCEPTANCE OF THE SOFTWARE AND AGREEING TO BECOME BOUND BY
14
+ THE TERMS OF THIS AGREEMENT.
15
+
16
+ ------------------------------------------------------------------------------
17
+
18
+ In order to use the Software under this Agreement, you must receive a
19
+ “Source URL” at the time of purchase, in accordance with the scope of use and
20
+ other terms specified for each type of Software and as set forth in this
21
+ Section 1 of this Agreement.
22
+
23
+ 1. License Grant
24
+
25
+ 1.1 General Use. This Agreement grants you a non-exclusive, non-transferable,
26
+ limited license to the use rights for the Software, without the right to grant
27
+ sublicenses, subject to the terms and conditions in this Agreement. The
28
+ Software is licensed, not sold.
29
+
30
+ 1.2 Free Project License. If you subscribed under the Free Project License you
31
+ may use the software for any of your projects that are released under an Open
32
+ Source License that is hosted on a public source code repository. You are required
33
+ to keep an up to date list of these repositories in your subscription settings.
34
+ Note that this is a project wide license, no subscription per individual
35
+ developer or contributor is required.
36
+
37
+ 1.3 Professional Developer Organization License. If you subscribed under the
38
+ Professional Developer Organization License, you can use the software on any
39
+ project within your organization. You are required to pay the subscription fee
40
+ per developer using the software.
41
+
42
+ 1.4 Archive Copies. You are entitled to make a reasonable amount of copies of
43
+ the Software for archival purposes. Each copy must reproduce all copyright and
44
+ other proprietary rights notices on or in the Software Product.
45
+
46
+ 1.5 Electronic Delivery. All Software and license documentation shall be
47
+ delivered by electronic means unless otherwise specified on the applicable
48
+ invoice or at the time of purchase. Software shall be deemed delivered when it
49
+ is made available for download by you (“Delivery”).
50
+
51
+ 2. Modifications. Schirp DSO LTD shall provide you with source code so
52
+ that you can create Modifications of the original software. “Modification”
53
+ means: (a) any addition to or deletion from the contents of a file included in
54
+ the original Software or previous Modifications created by You, or (b) any new
55
+ file that contains any part of the original Software or previous Modifications.
56
+ While you retain all rights to any original work authored by you as part of the
57
+ Modifications, We continue to own all copyright and other intellectual property
58
+ rights in the Software.
59
+
60
+ 3. Restricted Uses.
61
+
62
+ 3.1 You shall not (and shall not allow any third party to): (a) decompile,
63
+ disassemble, or otherwise reverse engineer the Software or attempt to
64
+ reconstruct or discover any source code, underlying ideas, algorithms, file
65
+ formats or programming interfaces of the Software by any means whatsoever
66
+ (except and only to the extent that applicable law prohibits or restricts
67
+ reverse engineering restrictions); (b) distribute, sell, sublicense, rent,
68
+ lease or use the Software for time sharing, hosting, service provider or like
69
+ purposes, except as expressly permitted under this Agreement; (c) redistribute
70
+ the Software or Modifications other than by including the Software or a
71
+ portion thereof within your own product, which must have substantially
72
+ different functionality than the Software or Modifications and must not allow
73
+ any third party to use the Software or Modifications, or any portions thereof,
74
+ for software development or application development purposes; (d) redistribute
75
+ the Software as part of a product, "appliance" or "virtual server"; (e)
76
+ redistribute the Software on any server which is not directly under your
77
+ control; (f) remove any product identification, proprietary, copyright or
78
+ other notices contained in the Software; (g) modify any part of the Software,
79
+ create a derivative work of any part of the Software (except as permitted in
80
+ Section 4), or incorporate the Software, except to the extent expressly
81
+ authorized in writing by Schirp DSO LTD; (h) publicly disseminate
82
+ performance information or analysis (including, without limitation, benchmarks)
83
+ from any source relating to the Software; (i) utilize any equipment, device,
84
+ software, or other means designed to circumvent or remove any form of Source
85
+ URL or copy protection used by Schirp DSO LTD in connection with the
86
+ Software, or use the Software together with any authorization code, Source
87
+ URL, serial number, or other copy protection device not supplied by
88
+ Schirp DSO LTD; (j) use the Software to develop a product which is
89
+ competitive with any Schirp DSO LTD product offerings; or (k) use
90
+ unauthorized Source URLS or keycode(s) or distribute or publish Source URLs or
91
+ keycode(s), except as may be expressly permitted by Schirp DSO LTD in
92
+ writing. If your unique Source URL is ever published, Schirp DSO LTD
93
+ reserves the right to terminate your access without notice.
94
+
95
+ 3.2 UNDER NO CIRCUMSTANCES MAY YOU USE THE SOFTWARE AS PART OF A PRODUCT OR
96
+ SERVICE THAT PROVIDES SIMILAR FUNCTIONALITY TO THE SOFTWARE ITSELF.
97
+
98
+ 4. Ownership. Notwithstanding anything to the contrary contained herein, except
99
+ for the limited license rights expressly provided herein, Schirp DSO LTD
100
+ and its suppliers have and will retain all rights, title and interest
101
+ (including, without limitation, all patent, copyright, trademark, trade secret
102
+ and other intellectual property rights) in and to the Software and all copies,
103
+ modifications and derivative works thereof (including any changes which
104
+ incorporate any of your ideas, feedback or suggestions).
105
+ You acknowledge that you are obtaining only a limited license right to the
106
+ Software, and that irrespective of any use of the words “purchase”, “sale” or
107
+ like terms hereunder no ownership rights are being conveyed to you under this
108
+ Agreement or otherwise.
109
+
110
+ 5. Fees and Payment. The Software license fees will be due and payable in full
111
+ as set forth in the applicable invoice or at the time of purchase. If the
112
+ Software does not function properly within two weeks of purchase, please contact
113
+ us within those two weeks for a refund. You shall be responsible for all taxes,
114
+ withholdings, duties and levies arising from the order (excluding taxes based on
115
+ the net income of Schirp DSO LTD).
116
+
117
+ 6. Support, Maintenance and Services. Subject to the terms and conditions of
118
+ this Agreement, as set forth in your invoice, and as set forth on the Mutant
119
+ support page (https://github.com/mbj/mutant/wiki/Commercial-Support),
120
+ support and maintenance services may be included with the purchase of your
121
+ license subscription.
122
+
123
+ 7. Term of Agreement.
124
+
125
+ 7.1 Term. This Agreement is effective as of the Delivery of the Software and
126
+ expires at such time as all license and service subscriptions hereunder have
127
+ expired in accordance with their own terms (the “Term”). For clarification, the
128
+ term of your license under this Agreement may be perpetual, limited for
129
+ Evaluation Version, or designated as a fixed-term license in the Invoice, and
130
+ shall be specified at your time of purchase. Either party may terminate this
131
+ Agreement (including all related Invoices) if the other party: (a) fails to cure
132
+ any material breach of this Agreement within thirty (30) days after written
133
+ notice of such breach, provided that Schirp DSO LTD may terminate this
134
+ Agreement immediately upon any breach of Section 3 or if you exceed any other
135
+ restrictions contained in Section 1, unless otherwise specified in this
136
+ agreement; (b) ceases operation without a successor; or (c) seeks protection
137
+ under any bankruptcy, receivership, trust deed, creditors arrangement,
138
+ composition or comparable proceeding, or if any such proceeding is instituted
139
+ against such party (and not dismissed within sixty (60) days)). Termination
140
+ is not an exclusive remedy and the exercise by either party of any remedy under
141
+ this Agreement will be without prejudice to any other remedies it may have
142
+ under this Agreement, by law, or otherwise.
143
+
144
+ 7.2 Termination. Upon any termination of this Agreement, you shall cease any
145
+ and all use of any Software and destroy all copies thereof.
146
+
147
+ 7.3 Expiration of License. Upon the expiration of any term under this
148
+ Agreement, (a) all Software updates and services pursuant to the license shall
149
+ cease, (b) you may only continue to run existing installations of the
150
+ Software, (c) you may not install the Software on any additional Hosts, and
151
+ (d) any new installation of the Software shall require the purchase of a new
152
+ license subscription from Schirp DSO LTD.
153
+
154
+ 8. Disclaimer of Warranties. The Software is provided "as is," with all faults,
155
+ defects and errors, and without warranty of any kind. Schirp DSO LTD does
156
+ not warrant that the Software will be free of bugs, errors, viruses or other
157
+ defects, and Schirp DSO LTD shall have no liability of any kind for the use
158
+ of or inability to use the Software, the Software content or any associated
159
+ service, and you acknowledge that it is not technically practicable for
160
+ Schirp DSO LTD to do so. To the maximum extent permitted by applicable law,
161
+ Schirp DSO LTD disclaims all warranties, express, implied, arising by law
162
+ or otherwise, regarding the Software, the Software content and their respective
163
+ performance or suitability for your intended use, including without limitation
164
+ any implied warranty of merchantability, fitness for a particular purpose.
165
+
166
+ 9. Limitation of Liability.
167
+
168
+ In no event will Schirp DSO LTD be liable for any direct, indirect,
169
+ consequential, incidental, special, exemplary, or punitive damages or
170
+ liabilities whatsoever arising from or relating to the Software, the Software
171
+ content or this Agreement, whether based on contract, tort (including
172
+ negligence), strict liability or other theory, even if Schirp DSO LTD has
173
+ been advised of the possibility of such damages.
174
+
175
+ In no event will Schirp DSO LTD' liability exceed the Software license
176
+ price as indicated in the invoice. The existence of more than one claim will
177
+ not enlarge or extend this limit.
178
+
179
+ 10. Remedies. Your exclusive remedy and Schirp DSO LTD’ entire liability
180
+ for breach of this Agreement shall be limited, at Schirp DSO LTD’ sole
181
+ and exclusive discretion, to (a) replacement of any defective software or
182
+ documentation; or (b) refund of the license fee paid to Schirp DSO LTD,
183
+ payable in accordance with Schirp DSO LTD' refund policy.
184
+
185
+ 11. Acknowledgements.
186
+
187
+ 11.1 Consent to the Use of Data. You agree that Schirp DSO LTD and its
188
+ affiliates may collect and use technical information gathered as part of the
189
+ product support services. Schirp DSO LTD may use this information solely
190
+ to improve products and services and will not disclose this information in a
191
+ form that personally identifies you.
192
+
193
+ 11.2 Verification. We or a certified auditor acting on our behalf, may, upon
194
+ its reasonable request and at its expense, audit you with respect to the use
195
+ of the Software. Such audit may be conducted by mail, electronic means or
196
+ through an in-person visit to your place of business. Any such in-person audit
197
+ shall be conducted during regular business hours at your facilities and shall
198
+ not unreasonably interfere with your business activities. We shall not remove,
199
+ copy, or redistribute any electronic material during the course of an audit.
200
+ If an audit reveals that you are using the Software in a way that is in material
201
+ violation of the terms of the EULA, then you shall pay our reasonable costs of
202
+ conducting the audit. In the case of a material violation, you agree to pay
203
+ Us any amounts owing that are attributable to the unauthorized use. In the
204
+ alternative, We reserve the right, at our sole option, to terminate the licenses
205
+ for the Software.
206
+
207
+ 12. Third Party Software. Examples included in Software may provide links to
208
+ third party libraries or code (collectively “Third Party Software”) to implement
209
+ various functions. Third Party Software does not comprise part of the Software.
210
+ In some cases, access to Third Party Software may be included along with the
211
+ Software delivery as a convenience for demonstration purposes. Such source
212
+ code and libraries may be included in the “…/examples” source tree delivered
213
+ with the Software and do not comprise the Software. Licensee acknowledges (1)
214
+ that some part of Third Party Software may require additional licensing of
215
+ copyright and patents from the owners of such, and (2) that distribution of
216
+ any of the Software referencing or including any portion of a Third Party
217
+ Software may require appropriate licensing from such third parties.
218
+
219
+
220
+ 13. Miscellaneous
221
+
222
+ 13.1 Entire Agreement. This Agreement sets forth our entire agreement with
223
+ respect to the Software and the subject matter hereof and supersedes all prior
224
+ and contemporaneous understandings and agreements whether written or oral.
225
+
226
+ 13.2 Amendment. Schirp DSO LTD reserves the right, in its sole discretion,
227
+ to amend this Agreement from time. Amendments to this Agreement can be
228
+ located at: https://github.com/mbj/mutant/blob/master/LICENSE.
229
+
230
+ 13.3 Assignment. You may not assign this Agreement or any of its rights under
231
+ this Agreement without the prior written consent of Schirp DSO LTD and
232
+ any attempted assignment without such consent shall be void.
233
+
234
+ 13.4 Export Compliance. You agree to comply with all applicable laws and
235
+ regulations, including laws, regulations, orders or other restrictions on
236
+ export, re-export or redistribution of software.
237
+
238
+ 13.5 Indemnification. You agree to defend, indemnify, and hold harmless
239
+ Schirp DSO LTD from and against any lawsuits, claims, losses, damages,
240
+ fines and expenses (including attorneys' fees and costs) arising out of
241
+ your use of the Software or breach of this Agreement.
242
+
243
+ 13.6 Governing Law. This Agreement is governed by the laws of Malta without
244
+ regard to conflicts of laws provisions thereof, and without regard to the
245
+ United Nations Convention on the International Sale of Goods or the Uniform
246
+ Computer Information Transactions Act, as currently enacted by any
247
+ jurisdiction or as may be codified or amended from time to time by any
248
+ jurisdiction. The jurisdiction and venue for actions related to the subject
249
+ matter hereof shall be Malta, and both parties hereby
250
+ submit to the personal jurisdiction of such courts.
251
+
252
+ 13.7 Attorneys’ Fees and Costs. The prevailing party in any action to enforce
253
+ this Agreement will be entitled to recover its attorneys’ fees and costs in
254
+ connection with such action.
255
+
256
+ 13.8 Severability. If any provision of this Agreement is held by a court of
257
+ competent jurisdiction to be invalid, illegal, or unenforceable, the remainder
258
+ of this Agreement will remain in full force and effect.
259
+
260
+ 13.9 Waiver. Failure or neglect by either party to enforce at any time any of
261
+ the provisions of this licence Agreement shall not be construed or deemed to
262
+ be a waiver of that party's rights under this Agreement.
263
+
264
+ 13.10 Headings. The headings of sections and paragraphs of this Agreement are
265
+ for convenience of reference only and are not intended to restrict, affect or
266
+ be of any weight in the interpretation or construction of the provisions of
267
+ such sections or paragraphs.
268
+
269
+ 14. Contact Information. If you have any questions about this EULA, or if you
270
+ want to contact Schirp DSO LTD for any reason, please direct correspondence
271
+ to info@schirp-dso.com.