komponent 1.1.2 → 1.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f58c3da5a2b11f34695dcf60c3d2e4d943f0bb97
4
- data.tar.gz: fc3d219e942b0649b983d2b943b254c151bbb43f
3
+ metadata.gz: 83a583b1f8468d26403f19dfdd6113e3dd0f10be
4
+ data.tar.gz: f2a0d993bdc7349b0b7c1370df7758b618664f09
5
5
  SHA512:
6
- metadata.gz: 12825b03452c3b914efe7ff4b0c9e3ac76fbb21b79da3f83ef03fdd48dbbd4bf737b1bc7e73e8f2af5be002f19330031999a0b407dfa6be3478868d8c063f01b
7
- data.tar.gz: 25f321f222d8cd35224060365069d151e8535cf8910b86e942e778440bb15546be7d812539fdb3fb42d6c8106ca863d5bd6eaa9c87e979dfabff9e657dafa186
6
+ metadata.gz: 7d07b311a6fc9fd55ce0bfa06f08991b48498db7361bfa59da47e90b0a49c098378b965049fa5be51f622e000f41b9238b280eb0b0ae7673da37a47999e9d38e
7
+ data.tar.gz: fe2e28f5cc9ff5f55c591e0d0680c8d8741e3892d68c47c9307f05dde502471c47442831e7c7801767e10abb4d511b87ad9959255bd6c0e277b4ced1af180da4
@@ -5,6 +5,7 @@ AllCops:
5
5
  - 'node_modules/**/*'
6
6
  - 'vendor/**/*'
7
7
  - 'tmp/**/*'
8
+ - 'fixtures/**/*'
8
9
 
9
10
  Gemspec/OrderedDependencies:
10
11
  Enabled: true
@@ -1,3 +1,4 @@
1
+ sudo: false
1
2
  language: ruby
2
3
  rvm:
3
4
  - 2.4
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## Upcoming release
4
4
 
5
+ **Enhancements:**
6
+ - Custom destroy for the component generator: you can now safely run `rails d component button`
7
+
8
+ **Bug fixes:**
9
+ - Fix crash when `nil` is passed to a component
10
+
11
+ ## v1.1.2 (2018-02-13)
12
+
5
13
  **Enhancements:**
6
14
  - Support for Stimulus 1.0
7
15
  - `import`s are now sorted alphabetically every time you run the component generator
@@ -34,7 +42,6 @@ imported in JavaScript files
34
42
  ## v1.0.0 (2018-01-01)
35
43
 
36
44
  **Enhancements:**
37
-
38
45
  - Components namespacing
39
46
  - Implement basic features
40
47
  - Implement `render_partial` helper
@@ -42,7 +49,6 @@ imported in JavaScript files
42
49
  ## v1.0.0.pre.2 (2017-12-09)
43
50
 
44
51
  **Enhancements:**
45
-
46
52
  - Lazy-load helpers and configuration
47
53
  - Add an install generator (`rails g komponent:install`)
48
54
  - Standardize components name (underscore for all except css classes are dasherized)
data/README.md CHANGED
@@ -27,6 +27,7 @@ This gem has been inspired by our Rails development practices at [Ouvrages](http
27
27
  - [Namespacing components](#namespacing-components)
28
28
  - [Stimulus integration](#stimulus-integration)
29
29
  - [Internationalization](#internationalization)
30
+ - [Available locales configuration](#available-locales-configuration)
30
31
  - [Configuration](#configuration)
31
32
  - [Change default root path](#change-default-root-path)
32
33
  - [Default options for the generators](#default-options-for-the-generators)
@@ -259,6 +260,13 @@ fr:
259
260
  external_link: "lien externe"
260
261
  ```
261
262
 
263
+ #### Available locales configuration
264
+
265
+ You can whitelist the locales you use by setting this into an initializer, as explained in the ["official guide"](http://guides.rubyonrails.org/i18n.html#configure-the-i18n-module):
266
+ ```ruby
267
+ I18n.available_locales = [:en, :fr]
268
+ ```
269
+
262
270
  ### Configuration
263
271
 
264
272
  #### Default options for the generators
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
- f.match(%r{^(test|spec|features)/})
17
+ f.match(%r{^(test|spec|features|fixtures)/})
18
18
  end
19
19
  spec.bindir = "exe"
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -64,6 +64,37 @@ class ComponentGenerator < Rails::Generators::NamedBase
64
64
  sort_lines_alphabetically!(base_path + "index.js")
65
65
  end
66
66
 
67
+ def clear_component
68
+ return unless destroying?
69
+
70
+ base_path = default_path + "components"
71
+ base_path_dup = base_path.dup
72
+
73
+ paths = split_name[0..-2].map do |split|
74
+ base_path_dup += split
75
+ [base_path_dup, split]
76
+ end
77
+
78
+ paths.reverse.each do |(path, split)|
79
+ FileUtils.rm_rf(component_path)
80
+
81
+ Dir.chdir(path)
82
+ directories = Dir.glob("*").select do |entry|
83
+ File.directory?(entry)
84
+ end
85
+
86
+ if directories.size == 0
87
+ FileUtils.rm_rf(path)
88
+ remove_line!(base_path + "index.js", split)
89
+ else
90
+ remove_line!(path + "index.js", component_name)
91
+ end
92
+ end
93
+
94
+ FileUtils.rm_rf(component_path)
95
+ remove_line!(base_path + "index.js", component_name)
96
+ end
97
+
67
98
  protected
68
99
 
69
100
  def template_prefix
@@ -154,4 +185,20 @@ class ComponentGenerator < Rails::Generators::NamedBase
154
185
  end
155
186
  end
156
187
  end
188
+
189
+ def remove_line!(path, component_name)
190
+ lines = File.readlines(path).map do |line|
191
+ line unless line =~ /#{component_name}/
192
+ end.compact
193
+
194
+ File.open(path, "w") do |f|
195
+ lines.each do |line|
196
+ f.write(line)
197
+ end
198
+ end
199
+ end
200
+
201
+ def destroying?
202
+ self.behavior == :revoke
203
+ end
157
204
  end
@@ -37,7 +37,7 @@ module KomponentHelper
37
37
  end
38
38
 
39
39
  locals.each do |name, value|
40
- instance_variable_set(:"@#{name}", locals[name] || options[:default])
40
+ instance_variable_set(:"@#{name}", locals[name])
41
41
  end
42
42
 
43
43
  instance_variable_set(:"@block_given_to_component", block)
@@ -1,3 +1,3 @@
1
1
  module Komponent
2
- VERSION = "1.1.2"
2
+ VERSION = "1.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: komponent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ouvrages
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-13 00:00:00.000000000 Z
11
+ date: 2018-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aruba