rufo 0.1.0 → 0.2.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.
@@ -0,0 +1,27 @@
1
+ module Rufo::Settings
2
+ OPTIONS = {
3
+ parens_in_def: [:yes, :dynamic],
4
+ align_case_when: [false, true],
5
+ align_chained_calls: [false, true],
6
+ trailing_commas: [true, false],
7
+ }
8
+
9
+ attr_accessor *OPTIONS.keys
10
+
11
+ def init_settings(options)
12
+ OPTIONS.each do |name, valid_options|
13
+ default = valid_options.first
14
+ value = options.fetch(name, default)
15
+ unless valid_options.include?(value)
16
+ $stderr.puts "Invalid value for #{name}: #{value.inspect}. Valid " \
17
+ "values are: #{valid_options.map(&:inspect).join(', ')}"
18
+ value = default
19
+ end
20
+ self.public_send("#{name}=", value)
21
+ end
22
+ diff = options.keys - OPTIONS.keys
23
+ diff.each do |key|
24
+ $stderr.puts "Invalid config option=#{key}"
25
+ end
26
+ end
27
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rufo
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency "bundler", "~> 1.15"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
26
26
  spec.add_development_dependency "rspec", "~> 3.0"
27
+ spec.add_development_dependency "guard-rspec", "~> 4.0"
27
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rufo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ary Borenszweig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-17 00:00:00.000000000 Z
11
+ date: 2017-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard-rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.0'
55
69
  description: Fast and unobtrusive Ruby code formatter
56
70
  email:
57
71
  - asterite@gmail.com
@@ -60,23 +74,29 @@ executables:
60
74
  extensions: []
61
75
  extra_rdoc_files: []
62
76
  files:
77
+ - ".github/PULL_REQUEST_TEMPLATE.md"
63
78
  - ".gitignore"
64
79
  - ".rspec"
65
80
  - ".rufo"
66
81
  - ".travis.yml"
82
+ - CHANGELOG.md
67
83
  - Gemfile
84
+ - Guardfile
68
85
  - LICENSE.txt
69
86
  - README.md
70
87
  - Rakefile
71
88
  - bin/console
72
89
  - bin/setup
90
+ - docs/developing-rufo.md
91
+ - docs/releasing-a-gem.md
92
+ - docs/settings.md
73
93
  - exe/rufo
74
94
  - lib/rufo.rb
75
95
  - lib/rufo/backport.rb
76
96
  - lib/rufo/command.rb
77
97
  - lib/rufo/dot_file.rb
78
98
  - lib/rufo/formatter.rb
79
- - lib/rufo/formatter/settings.rb
99
+ - lib/rufo/settings.rb
80
100
  - lib/rufo/version.rb
81
101
  - rakelib/ci.rake
82
102
  - rakelib/rufo.rake
@@ -101,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
121
  version: '0'
102
122
  requirements: []
103
123
  rubyforge_project:
104
- rubygems_version: 2.6.11
124
+ rubygems_version: 2.6.13
105
125
  signing_key:
106
126
  specification_version: 4
107
127
  summary: Ruby code formatter
@@ -1,198 +0,0 @@
1
- class Rufo::Formatter
2
- def init_settings(options)
3
- indent_size options.fetch(:indent_size, 2)
4
- spaces_inside_hash_brace options.fetch(:spaces_inside_hash_brace, :dynamic)
5
- spaces_inside_array_bracket options.fetch(:spaces_inside_array_bracket, :dynamic)
6
- spaces_around_equal options.fetch(:spaces_around_equal, :dynamic)
7
- spaces_in_ternary options.fetch(:spaces_in_ternary, :dynamic)
8
- spaces_in_suffix options.fetch(:spaces_in_suffix, :dynamic)
9
- spaces_in_commands options.fetch(:spaces_in_commands, :dynamic)
10
- spaces_around_block_brace options.fetch(:spaces_around_block_brace, :dynamic)
11
- spaces_after_comma options.fetch(:spaces_after_comma, :dynamic)
12
- spaces_around_hash_arrow options.fetch(:spaces_around_hash_arrow, :dynamic)
13
- spaces_around_when options.fetch(:spaces_around_when, :dynamic)
14
- spaces_around_dot options.fetch(:spaces_around_dot, :dynamic)
15
- spaces_after_lambda_arrow options.fetch(:spaces_after_lambda_arrow, :dynamic)
16
- spaces_around_unary options.fetch(:spaces_around_unary, :dynamic)
17
- spaces_around_binary options.fetch(:spaces_around_binary, :dynamic)
18
- spaces_after_method_name options.fetch(:spaces_after_method_name, :dynamic)
19
- spaces_in_inline_expressions options.fetch(:spaces_in_inline_expressions, :dynamic)
20
- parens_in_def options.fetch(:parens_in_def, :dynamic)
21
- double_newline_inside_type options.fetch(:double_newline_inside_type, :dynamic)
22
- visibility_indent options.fetch(:visibility_indent, :dynamic)
23
- align_comments options.fetch(:align_comments, false)
24
- align_assignments options.fetch(:align_assignments, false)
25
- align_hash_keys options.fetch(:align_hash_keys, false)
26
- align_case_when options.fetch(:align_case_when, false)
27
- align_chained_calls options.fetch(:align_chained_calls, false)
28
- trailing_commas options.fetch(:trailing_commas, :dynamic)
29
- end
30
-
31
- def indent_size(value)
32
- @indent_size = value
33
- end
34
-
35
- def spaces_inside_hash_brace(value)
36
- @spaces_inside_hash_brace = dynamic_always_never_match("spaces_inside_hash_brace", value)
37
- end
38
-
39
- def spaces_inside_array_bracket(value)
40
- @spaces_inside_array_bracket = dynamic_always_never_match("spaces_inside_array_bracket", value)
41
- end
42
-
43
- def spaces_around_equal(value)
44
- @spaces_around_equal = one_dynamic("spaces_around_equal", value)
45
- end
46
-
47
- def spaces_in_ternary(value)
48
- @spaces_in_ternary = one_dynamic("spaces_in_ternary", value)
49
- end
50
-
51
- def spaces_in_suffix(value)
52
- @spaces_in_suffix = one_dynamic("spaces_in_suffix", value)
53
- end
54
-
55
- def spaces_in_commands(value)
56
- @spaces_in_commands = one_dynamic("spaces_in_commands", value)
57
- end
58
-
59
- def spaces_around_block_brace(value)
60
- @spaces_around_block_brace = one_dynamic("spaces_around_block_brace", value)
61
- end
62
-
63
- def spaces_after_comma(value)
64
- @spaces_after_comma = one_dynamic("spaces_after_comma", value)
65
- end
66
-
67
- def spaces_around_hash_arrow(value)
68
- @spaces_around_hash_arrow = one_dynamic("spaces_around_hash_arrow", value)
69
- end
70
-
71
- def spaces_around_when(value)
72
- @spaces_around_when = one_dynamic("spaces_around_when", value)
73
- end
74
-
75
- def spaces_around_dot(value)
76
- @spaces_around_dot = no_dynamic("spaces_around_dot", value)
77
- end
78
-
79
- def spaces_after_lambda_arrow(value)
80
- @spaces_after_lambda_arrow = one_no_dynamic("spaces_after_lambda_arrow", value)
81
- end
82
-
83
- def spaces_around_unary(value)
84
- @spaces_around_unary = no_dynamic("spaces_around_unary", value)
85
- end
86
-
87
- def spaces_around_binary(value)
88
- @spaces_around_binary = one_dynamic("spaces_around_binary", value)
89
- end
90
-
91
- def spaces_after_method_name(value)
92
- @spaces_after_method_name = no_dynamic("spaces_after_method_name", value)
93
- end
94
-
95
- def spaces_in_inline_expressions(value)
96
- @spaces_in_inline_expressions = one_dynamic("spaces_in_inline_expressions", value)
97
- end
98
-
99
- def parens_in_def(value)
100
- @parens_in_def = yes_dynamic("parens_in_def", value)
101
- end
102
-
103
- def double_newline_inside_type(value)
104
- @double_newline_inside_type = no_dynamic("double_newline_inside_type", value)
105
- end
106
-
107
- def trailing_commas(value)
108
- case value
109
- when :dynamic, :always, :never
110
- @trailing_commas = value
111
- else
112
- raise ArgumentError.new("invalid value for trailing_commas: #{value}. Valid values are: :dynamic, :always, :never")
113
- end
114
- end
115
-
116
- def visibility_indent(value)
117
- case value
118
- when :indent, :align, :dynamic #, :dedent
119
- @visibility_indent = value
120
- else
121
- raise ArgumentError.new("invalid value for visibility_indent: #{value}. Valid values are: :indent, :align, :dynamic")
122
- end
123
- end
124
-
125
- def align_comments(value)
126
- @align_comments = value
127
- end
128
-
129
- def align_assignments(value)
130
- @align_assignments = value
131
- end
132
-
133
- def align_hash_keys(value)
134
- @align_hash_keys = value
135
- end
136
-
137
- def align_case_when(value)
138
- @align_case_when = value
139
- end
140
-
141
- def align_chained_calls(value)
142
- @align_chained_calls = value
143
- end
144
-
145
- def dynamic_always_never(name, value)
146
- case value
147
- when :dynamic, :always, :never
148
- value
149
- else
150
- raise ArgumentError.new("invalid value for #{name}: #{value}. Valid values are: :dynamic, :always, :never")
151
- end
152
- end
153
-
154
- def dynamic_always_never_match(name, value)
155
- case value
156
- when :dynamic, :always, :never, :match
157
- value
158
- else
159
- raise ArgumentError.new("invalid value for #{name}: #{value}. Valid values are: :dynamic, :always, :never, :match")
160
- end
161
- end
162
-
163
- def one_dynamic(name, value)
164
- case value
165
- when :one, :dynamic
166
- value
167
- else
168
- raise ArgumentError.new("invalid value for #{name}: #{value}. Valid values are: :one, :dynamic")
169
- end
170
- end
171
-
172
- def no_dynamic(name, value)
173
- case value
174
- when :no, :dynamic
175
- value
176
- else
177
- raise ArgumentError.new("invalid value for #{name}: #{value}. Valid values are: :no, :dynamic")
178
- end
179
- end
180
-
181
- def one_no_dynamic(name, value)
182
- case value
183
- when :no, :one, :dynamic
184
- value
185
- else
186
- raise ArgumentError.new("invalid value for #{name}: #{value}. Valid values are: :no, :one, :dynamic")
187
- end
188
- end
189
-
190
- def yes_dynamic(name, value)
191
- case value
192
- when :yes, :dynamic
193
- value
194
- else
195
- raise ArgumentError.new("invalid value for #{name}: #{value}. Valid values are: :yes, :dynamic")
196
- end
197
- end
198
- end