rufo 0.1.0 → 0.2.0

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