sho 0.0.1 → 0.0.2

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: 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