sho 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 125faf4a77feba4430c913006c9a0c594032492c
4
- data.tar.gz: 48b7aef74a0acd727c7cfa848fa95f932e22504a
3
+ metadata.gz: 6824fa2e826773658bce36e4f33d23715d62651b
4
+ data.tar.gz: fbe63cdf11cc334f60d87558c0996e6e55614113
5
5
  SHA512:
6
- metadata.gz: 8bf09de4470247c23f2cd1ab956d01996337c8e654337cd53fe20f8331bdab50027dd7c0d46ee0a40edf1baad9dc88bbec8550088f6c3a0293a4754119da5e29
7
- data.tar.gz: a4f0689ca99551d70ef474b90d856321fc1894918ac280e9931b48cf57da8e1e46d551fec964b5fbfc689d38f16e6d467e8e93cf4f86c1f40db85ba53d03d626
6
+ metadata.gz: ac5a8af9cf6047cbcfdbada0732738fa4802b1c3defd84a25fb352bfa2f49ed269a459f80571bbb54cb3811eb6f08ea2865e9051322069ac9d6e25b1979f7c9c
7
+ data.tar.gz: 2049bebaa82fcef22b3ac50c82aeafe86b1cb72b201c9b8a6a5c3f4f38dc2101738e20932bc0e2b89e4c149070def8d89734f1af0f62205532cd856efd3fae2b
@@ -0,0 +1,10 @@
1
+ # Sho versions
2
+
3
+ ## 0.0.2 - 2018-06-27
4
+
5
+ * `yield` in inline templates work (for small inline layouts) -- [@adam12](https://github.com/adam12).
6
+
7
+ ## 0.0.1 - 2018-06-10
8
+
9
+ Initial!
10
+
data/README.md CHANGED
@@ -48,8 +48,8 @@ You can think about the template as a _method body_, which immediately answers a
48
48
  * **How do I test it? How do I set all the context for testing?** Just as with regular method: just create an instance, and call the method, and test the result.
49
49
  * **But where do I put this method?** Wherever you wish! Sho does NOT insist on any particular architecture or code layout, which means you can experiment and evaluate several options, like:
50
50
  * embed rendering in controller/Sinatra app (or even model, if you want to be really naughty today!) for the very first 30-lines-long prototype, then move it elsewhere (like "Extract Method" refactoring pattern, you know?)
51
- * embed rendering in your service (operation) objects, so
52
- * make Users::List class with `#html`, `#atom` and `#json` methods and use it like `Users::List.new(scope).send(request.format)` or `User::List.send(request.format, scope)`
51
+ * embed rendering in your service (operation) objects, so corresponding forms and buttons would be nested in the operation, and reused in other places like `Product::Create.new(current_user).button`
52
+ * make `Users::List` class with `#html`, `#atom` and `#json` methods and use it like `Users::List.new(scope).send(request.format)` or `User::List.send(request.format, scope)`
53
53
  * make `Trailblazer::Cells`-like one-class-per-template objects to call them like `Users::HtmlList.new(scope).()`
54
54
  * ...switch between several of the approaches, or even combine them in the same app!
55
55
 
@@ -113,12 +113,12 @@ module Sho
113
113
 
114
114
  def define_template_method(name, tilt, mandatory, optional, layout)
115
115
  arguments = ArgumentValidator.new(*mandatory, **optional)
116
- @host.__send__(:define_method, name) do |**locals|
116
+ @host.__send__(:define_method, name) do |**locals, &block|
117
117
  locals = arguments.call(**locals)
118
118
  if layout
119
119
  __send__(layout) { tilt.render(self, **locals) }
120
120
  else
121
- tilt.render(self, **locals)
121
+ tilt.render(self, **locals, &block)
122
122
  end
123
123
  end
124
124
  end
@@ -3,7 +3,7 @@
3
3
  module Sho
4
4
  MAJOR = 0
5
5
  MINOR = 0
6
- PATCH = 1
6
+ PATCH = 2
7
7
  PRE = nil
8
8
  VERSION = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Shepelev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-10 00:00:00.000000000 Z
11
+ date: 2018-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tilt
@@ -154,30 +154,30 @@ dependencies:
154
154
  name: rubocop
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: 0.57.2
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '0'
166
+ version: 0.57.2
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rubocop-rspec
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ">="
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0'
173
+ version: 1.27.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ">="
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0'
180
+ version: 1.27.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement
@@ -214,6 +214,7 @@ executables: []
214
214
  extensions: []
215
215
  extra_rdoc_files: []
216
216
  files:
217
+ - Changelog.md
217
218
  - README.md
218
219
  - lib/sho.rb
219
220
  - lib/sho/argument_validator.rb
@@ -239,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
240
  version: '0'
240
241
  requirements: []
241
242
  rubyforge_project:
242
- rubygems_version: 2.6.14
243
+ rubygems_version: 2.6.10
243
244
  signing_key:
244
245
  specification_version: 4
245
246
  summary: Experimental post-framework view library