mutant 0.8.24 → 0.9.0

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