elm-sprockets 0.1.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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2f29485ecf7472071a3ab7cc330a82816b8780d4
4
+ data.tar.gz: 2ec45e79d45baa5bab3e016b94b6f4cc45d8501a
5
+ SHA512:
6
+ metadata.gz: f34c9ce7a739c7772c30b1fd48417d300f1f275f6a5157ff33e3f39f911f5fc9ccad7046140cd2973d0364024f9dff1b2a64cebb451269b3704867620aed7124
7
+ data.tar.gz: ca5c8fde039309185498023ae079f1cefae3eda1d3f559022561af49bf30025326b603166d22857806394023e37a15c10030466391314134323bf9f5c6abd930
@@ -0,0 +1,9 @@
1
+ require 'sprockets'
2
+
3
+ module ElmSprockets
4
+ require 'elm-sprockets/elm_processor'
5
+
6
+ Sprockets.register_mime_type 'text/elm', extensions: ['.elm', '.js.elm']
7
+ Sprockets.register_transformer 'text/elm', 'application/javascript', ElmProcessor
8
+ Sprockets.register_preprocessor 'text/elm', Sprockets::DirectiveProcessor.new(comments: ['--', ['{-', '-}']])
9
+ end
File without changes
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module ElmSprockets
3
+ module Autoload
4
+ autoload :Elm, 'elm-sprockets/autoload/elm'
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ require 'elm'
3
+
4
+ module ElmSprockets
5
+ module Autoload
6
+ Elm = ::Elm
7
+ end
8
+ end
@@ -0,0 +1,34 @@
1
+ require 'elm-sprockets/autoload'
2
+
3
+ module ElmSprockets
4
+ class ElmProcessor
5
+ VERSION = '1'
6
+
7
+ def self.instance
8
+ @instance ||= new
9
+ end
10
+
11
+ def self.call(input)
12
+ instance.call input
13
+ end
14
+
15
+ def initialize(options = {})
16
+ @options = options.merge({warn: true}).freeze
17
+ @opts = (Autoload::Elm::Options.with @options).freeze
18
+
19
+ @cache_key = [
20
+ self.class.name,
21
+ VERSION,
22
+ @options
23
+ ].freeze
24
+ end
25
+
26
+ def call(input)
27
+ data = input[:data]
28
+ input[:cache].fetch(@cache_key + [input[:filename]] + [data]) do
29
+ elm = Autoload::Elm.compiler.files([input[:source_path]]).to_s
30
+ { data: elm.output }
31
+ end
32
+ end
33
+ end
34
+ end
metadata ADDED
@@ -0,0 +1,232 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elm-sprockets
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Yves Brissaud
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.3'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.3.0
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.3'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 3.3.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: guard
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.13'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.13.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.13'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.13.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: guard-rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '4.6'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 4.6.4
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '4.6'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 4.6.4
73
+ - !ruby/object:Gem::Dependency
74
+ name: simplecov
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.10'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.10.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.10'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.10.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: cucumber
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.3'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 2.3.2
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.3'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 2.3.2
113
+ - !ruby/object:Gem::Dependency
114
+ name: guard-cucumber
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '2.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rake
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '10.5'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '10.5'
141
+ - !ruby/object:Gem::Dependency
142
+ name: rubocop
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '0.37'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '0.37'
155
+ - !ruby/object:Gem::Dependency
156
+ name: contracts
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: 0.13.0
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: 0.13.0
169
+ - !ruby/object:Gem::Dependency
170
+ name: ruby-elm
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '0.5'
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '0.5'
183
+ - !ruby/object:Gem::Dependency
184
+ name: sprockets
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '3.0'
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '3.0'
197
+ description: Compile elm files for rails.
198
+ email: yves.brissaud@gmail.com
199
+ executables: []
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - lib/elm-sprockets.rb
204
+ - lib/elm-sprockets/.gitignore
205
+ - lib/elm-sprockets/autoload.rb
206
+ - lib/elm-sprockets/autoload/elm.rb
207
+ - lib/elm-sprockets/elm_processor.rb
208
+ homepage: https://github.com/eunomie/elm-sprockets
209
+ licenses:
210
+ - MIT
211
+ metadata: {}
212
+ post_install_message:
213
+ rdoc_options: []
214
+ require_paths:
215
+ - lib
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ requirements: []
227
+ rubyforge_project:
228
+ rubygems_version: 2.5.1
229
+ signing_key:
230
+ specification_version: 4
231
+ summary: Elm in your rails assets pipeline
232
+ test_files: []