curly-templates 1.0.0rc1 → 1.0.0

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: c1d51d31a9e02cb1bccbdac92afeee3faa5ae093
4
- data.tar.gz: 08eb307eecf7be51a180cc11a257b3ad460d6fa6
3
+ metadata.gz: 7c6776520ae424f8f845a888ea934f20656e652a
4
+ data.tar.gz: 7f5130ecae48ef5293c6f7c9688e203efe5ed9a7
5
5
  SHA512:
6
- metadata.gz: 62a6e70667b692c94e5b48dae4dffa84d49f096a8a34104dc827e4a5087f53df8a870b684cf106c606e6b208067ec233cf35ada8f9dfa580910ec1d55278472b
7
- data.tar.gz: a07ef3ed26980e8751287a9a00770f32badd4c6fa3e1e50b16be83d23ae0cd3f17cbfd910add61050d780cee9e88abbf03a308c75d6c0d11058a3981d34173a4
6
+ metadata.gz: ed594473b873e31367e7c738a16e071d3b3f487b6755382c9c72ac940efcdaac4050f55390be8b1a1b58b92746a1247374b3533f32d21334f74065bc30c2fefa
7
+ data.tar.gz: a425716b8c05ef9c194d1aaa3c4b7ea531303f67d6bd4a4eddff88116aa222f426832e70b9fc84801ae75c874213e63a3f477bec6aa9a736186c21135aa9b5c7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ### Unreleased
2
2
 
3
+ ### Curly 1.0.0rc1 (February 18, 2014)
4
+
5
+ * Add support for conditional blocks:
6
+
7
+ ```
8
+ {{#admin?}}
9
+ Hello!
10
+ {{/admin?}}
11
+ ```
12
+
13
+ *Jeremy Rodi*
14
+
3
15
  ### Curly 0.12.0 (December 3, 2013)
4
16
 
5
17
  * Allow Curly to output Curly syntax by using the `{{{ ... }}` syntax:
data/README.md CHANGED
@@ -16,18 +16,8 @@ or [Handlebars](http://handlebarsjs.com/), Curly is different in some key ways:
16
16
  languages like [Liquid](http://liquidmarkup.org/).
17
17
  - Instead of implementing its own template resolution mechanism, Curly hooks
18
18
  directly into Rails, leveraging the existing resolvers.
19
- - Because of the way it integrates with Rails, it is very easy to use partial
20
- Curly templates to split out logic from a presenter. With Mustache, at least,
21
- when integrating with Rails, it is common to return Hash objects from view
22
- object methods that are in turn used by the template.
23
-
24
-
25
-
26
- ### Is it ready to use in production?
27
-
28
- Yes! While still a young project, it's being used in a rather large Rails app
29
- at Zendesk, where it performs admirably.
30
-
19
+ - Because of its close integration with Rails, with Curly you can easily set
20
+ up caching for your views and partials.
31
21
 
32
22
 
33
23
  ### Table of Contents
@@ -75,7 +65,7 @@ Add some HTML to the partial template along with some Curly variables:
75
65
  {{body}}
76
66
 
77
67
  {{#author?}}
78
- <a href="{{delete_url}}">delete comment</a>
68
+ <p>{{deletion_link}}</p>
79
69
  {{/author?}}
80
70
  </div>
81
71
  ```
@@ -93,7 +83,11 @@ class Posts::CommentPresenter < Curly::Presenter
93
83
  end
94
84
 
95
85
  def author_link
96
- link_to(@comment.author.name, @comment.author, rel: "author")
86
+ link_to @comment.author.name, @comment.author, rel: "author"
87
+ end
88
+
89
+ def deletion_link
90
+ link_to "Delete", @comment, method: :delete
97
91
  end
98
92
 
99
93
  def time_ago
@@ -222,7 +216,8 @@ use `yield` to signal that content can be inserted. Curly works just like ERB, s
222
216
  will make it try to read a content block with the given name:
223
217
 
224
218
  ```ruby
225
- # Given you have the following Curly template in app/views/layouts/application.html.curly
219
+ # Given you have the following Curly template in
220
+ # app/views/layouts/application.html.curly
226
221
  #
227
222
  # <html>
228
223
  # <head>
@@ -420,6 +415,13 @@ Thanks
420
415
  Thanks to [Zendesk](http://zendesk.com/) for sponsoring the work on Curly.
421
416
 
422
417
 
418
+ ### Contributors
419
+
420
+ - Daniel Schierbeck ([@dasch](https://github.com/dasch))
421
+ - Benjamin Quorning ([@bquorning](https://github.com/bquorning))
422
+ - Jeremy Rodi ([@redjazz96](https://github.com/redjazz96))
423
+
424
+
423
425
  Build Status
424
426
  ------------
425
427
 
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
 
6
6
  s.name = 'curly-templates'
7
- s.version = '1.0.0rc1'
8
- s.date = '2014-02-18'
7
+ s.version = '1.0.0'
8
+ s.date = '2014-03-12'
9
9
 
10
10
  s.summary = "Free your views!"
11
11
  s.description = "A view layer for your Rails apps that separates structure and logic."
@@ -42,7 +42,6 @@ Gem::Specification.new do |s|
42
42
  lib/curly/error.rb
43
43
  lib/curly/incomplete_block_error.rb
44
44
  lib/curly/incorrect_ending_error.rb
45
- lib/curly/invalid_block_error.rb
46
45
  lib/curly/invalid_reference.rb
47
46
  lib/curly/presenter.rb
48
47
  lib/curly/railtie.rb
data/lib/curly.rb CHANGED
@@ -26,7 +26,7 @@
26
26
  # See Curly::Presenter for more information on presenters.
27
27
  #
28
28
  module Curly
29
- VERSION = "1.0.0rc1"
29
+ VERSION = "1.0.0"
30
30
 
31
31
  # Compiles a Curly template to Ruby code.
32
32
  #
@@ -1,7 +1,6 @@
1
1
  require 'curly/scanner'
2
2
  require 'curly/error'
3
3
  require 'curly/invalid_reference'
4
- require 'curly/invalid_block_error'
5
4
  require 'curly/incorrect_ending_error'
6
5
  require 'curly/incomplete_block_error'
7
6
 
@@ -18,6 +17,11 @@ module Curly
18
17
  # template - The template String that should be compiled.
19
18
  # presenter_class - The presenter Class.
20
19
  #
20
+ # Raises InvalidReference if the template contains a reference that is not
21
+ # allowed.
22
+ # Raises IncorrectEndingError if a conditional block is not ended in the
23
+ # correct order - the most recent block must be ended first.
24
+ # Raises IncompleteBlockError if a block is not completed.
21
25
  # Returns a String containing the Ruby code.
22
26
  def self.compile(template, presenter_class)
23
27
  new(template, presenter_class).compile
metadata CHANGED
@@ -1,95 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curly-templates
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0rc1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-18 00:00:00.000000000 Z
11
+ date: 2014-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.1'
20
- - - <
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '4.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '3.1'
30
- - - <
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '4.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: railties
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '3.1'
40
- - - <
40
+ - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '4.1'
43
43
  type: :development
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '3.1'
50
- - - <
50
+ - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '4.1'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: rake
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - '>='
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  type: :development
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - '>='
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: '0'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: rspec
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
- - - ~>
71
+ - - "~>"
72
72
  - !ruby/object:Gem::Version
73
73
  version: '2.12'
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - ~>
78
+ - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '2.12'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: genspec
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - '>='
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - '>='
92
+ - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
95
  description: A view layer for your Rails apps that separates structure and logic.
@@ -112,7 +112,6 @@ files:
112
112
  - lib/curly/error.rb
113
113
  - lib/curly/incomplete_block_error.rb
114
114
  - lib/curly/incorrect_ending_error.rb
115
- - lib/curly/invalid_block_error.rb
116
115
  - lib/curly/invalid_reference.rb
117
116
  - lib/curly/presenter.rb
118
117
  - lib/curly/railtie.rb
@@ -136,22 +135,22 @@ licenses:
136
135
  metadata: {}
137
136
  post_install_message:
138
137
  rdoc_options:
139
- - --charset=UTF-8
138
+ - "--charset=UTF-8"
140
139
  require_paths:
141
140
  - lib
142
141
  required_ruby_version: !ruby/object:Gem::Requirement
143
142
  requirements:
144
- - - '>='
143
+ - - ">="
145
144
  - !ruby/object:Gem::Version
146
145
  version: '0'
147
146
  required_rubygems_version: !ruby/object:Gem::Requirement
148
147
  requirements:
149
- - - '>'
148
+ - - ">="
150
149
  - !ruby/object:Gem::Version
151
- version: 1.3.1
150
+ version: '0'
152
151
  requirements: []
153
152
  rubyforge_project:
154
- rubygems_version: 2.0.14
153
+ rubygems_version: 2.2.0
155
154
  signing_key:
156
155
  specification_version: 2
157
156
  summary: Free your views!
@@ -1,9 +0,0 @@
1
- module Curly
2
- class InvalidBlockError < Error
3
- attr_reader :reference
4
-
5
- def initialize(reference)
6
- @reference = reference
7
- end
8
- end
9
- end