walrus-rb 0.10.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,144 @@
1
+ (function() {
2
+ var Walrus;
3
+
4
+ Walrus = (typeof exports !== "undefined" && exports !== null ? require('./walrus') : this).Walrus;
5
+
6
+ /**
7
+ * *:plus*
8
+ * Returns the sum of two numbers
9
+ *
10
+ * Parameters:
11
+ * number - the number to add to the expression
12
+ *
13
+ * Usage:
14
+ *
15
+ * {{ 15 | :plus( 6 ) }} // => 21
16
+ */
17
+
18
+ Walrus.addFilter('plus', function(value, number) {
19
+ return value + number;
20
+ });
21
+
22
+ /**
23
+ * *:minus*
24
+ * Returns the difference of two numbers
25
+ *
26
+ * Parameters:
27
+ * number - the number to subtract from the expression
28
+ *
29
+ * Usage:
30
+ *
31
+ * {{ 15 | :minus( 6 ) }} // => 9
32
+ */
33
+
34
+ Walrus.addFilter('minus', function(value, number) {
35
+ return value - number;
36
+ });
37
+
38
+ /**
39
+ * *:gt*
40
+ * Returns whether `value` is greater than the given number
41
+ *
42
+ * Parameters:
43
+ * number - the number to compare against
44
+ *
45
+ * Usage:
46
+ *
47
+ * {{ 15 | :gt( 5 ) }} // => true
48
+ */
49
+
50
+ Walrus.addFilter('gt', function(value, number) {
51
+ return value > number;
52
+ });
53
+
54
+ /**
55
+ * *:gte*
56
+ * Returns whether `value` is greater than or equal to the given number
57
+ *
58
+ * Parameters:
59
+ * number - the number to compare against
60
+ *
61
+ * Usage:
62
+ *
63
+ * {{ 15 | :gte( 5 ) }} // => true
64
+ */
65
+
66
+ Walrus.addFilter('gte', function(value, number) {
67
+ return value >= number;
68
+ });
69
+
70
+ /**
71
+ * *:lt*
72
+ * Returns whether `value` is less than the given number
73
+ *
74
+ * Parameters:
75
+ * number - the number to compare against
76
+ *
77
+ * Usage:
78
+ *
79
+ * {{ 15 | :lt( 5 ) }} // => false
80
+ */
81
+
82
+ Walrus.addFilter('lt', function(value, number) {
83
+ return value < number;
84
+ });
85
+
86
+ /**
87
+ * *:lte*
88
+ * Returns whether `value` is less than or equal to the given number
89
+ *
90
+ * Parameters:
91
+ * number - the number to compare against
92
+ *
93
+ * Usage:
94
+ *
95
+ * {{ 15 | :lte( 5 ) }} // => false
96
+ */
97
+
98
+ Walrus.addFilter('lte', function(value, number) {
99
+ return value <= number;
100
+ });
101
+
102
+ /**
103
+ * *:floor*
104
+ * Returns the given number rounded down to the nearest integer.
105
+ *
106
+ * Parameters: none
107
+ *
108
+ * Usage:
109
+ * {{ 5.6 | :floor }} // => 5
110
+ */
111
+
112
+ Walrus.addFilter('floor', function(value) {
113
+ return Math.floor(value);
114
+ });
115
+
116
+ /**
117
+ * *:ceil*
118
+ * Returns the given number rounded up to the nearest integer.
119
+ *
120
+ * Parameters: none
121
+ *
122
+ * Usage:
123
+ * {{ 5.6 | :ceil }} // => 6
124
+ */
125
+
126
+ Walrus.addFilter('ceil', function(value) {
127
+ return Math.ceil(value);
128
+ });
129
+
130
+ /**
131
+ * *:round*
132
+ * Returns the given number rounded to the nearest integer.
133
+ *
134
+ * Parameters: none
135
+ *
136
+ * Usage:
137
+ * {{ 5.6 | :round }} // => 6
138
+ */
139
+
140
+ Walrus.addFilter('round', function(value) {
141
+ return Math.round(value);
142
+ });
143
+
144
+ }).call(this);
@@ -0,0 +1,127 @@
1
+ (function() {
2
+ var Walrus;
3
+
4
+ Walrus = (typeof exports !== "undefined" && exports !== null ? require('./walrus') : this).Walrus;
5
+
6
+ /**
7
+ * *:reverse*
8
+ * Reverses a string.
9
+ *
10
+ * Parameters: none
11
+ *
12
+ * Usage:
13
+ *
14
+ * {{ "hello" | :reverse }} // => "olleh"
15
+ */
16
+
17
+ Walrus.addFilter('reverse', function(value) {
18
+ return value.split('').reverse().join('');
19
+ });
20
+
21
+ /**
22
+ * *:downcase*
23
+ * Converts a string to lowercase characters. Opposite of `:upcase`.
24
+ *
25
+ * Parameters: none
26
+ *
27
+ * Usage:
28
+ *
29
+ * {{ "HelLO!" | :downcase }} // => "hello!"
30
+ */
31
+
32
+ Walrus.addFilter('downcase', function(value) {
33
+ return value.toLowerCase();
34
+ });
35
+
36
+ /**
37
+ * *:upcase*
38
+ * Converts a string to uppercase characters. Opposite of `:downcase`.
39
+ *
40
+ * Parameters: none
41
+ *
42
+ * Usage:
43
+ *
44
+ * {{ "HelLO!" | :upcase }} // => "HELLO!"
45
+ */
46
+
47
+ Walrus.addFilter('upcase', function(value) {
48
+ return value.toUpperCase();
49
+ });
50
+
51
+ /**
52
+ * *:squish*
53
+ * Removes all leading and trailing whitespace, then condenses any internal whitespace
54
+ * groups to a single space each.
55
+ *
56
+ * Parameters: none
57
+ *
58
+ * Usage:
59
+ *
60
+ * {{ " foo bar \n baz" | :squish }} // => "foo bar baz"
61
+ */
62
+
63
+ Walrus.addFilter('squish', function(string) {
64
+ return Walrus.Utils.trim(string).replace(/\s+/g, ' ');
65
+ });
66
+
67
+ /**
68
+ * *:truncate*
69
+ * Truncates a string to the specified `length`, optionally breaking at a separator
70
+ * or providing a custom string to denote an omission.
71
+ *
72
+ * Parameters:
73
+ * length (int) - the number of characters to keep, at most
74
+ * separator (string) - Optional: a specified string to break on
75
+ * omission (string) - Optional: a string to denote an omission
76
+ *
77
+ * Usage:
78
+ *
79
+ * {{ "Once upon a time in a world far far away" | :truncate( 27, ' ' ) }} // => "Once upon a time in a..."
80
+ */
81
+
82
+ Walrus.addFilter('truncate', function(string, length, separator, omission) {
83
+ var chars, stop;
84
+ if (separator == null) separator = false;
85
+ if (omission == null) omission = '...';
86
+ chars = length - omission.length;
87
+ stop = separator ? string.lastIndexOf(separator, chars) || chars : chars;
88
+ if (string.length > length) {
89
+ return string.substr(0, stop) + omission;
90
+ } else {
91
+ return string;
92
+ }
93
+ });
94
+
95
+ /**
96
+ * *:titleize*
97
+ * Capitalizes all words within a string
98
+ *
99
+ * Parameters: none
100
+ *
101
+ * Usage:
102
+ *
103
+ * { "man from the boondocks" | :titleize } // => "Man From The Boondocks"
104
+ * { "x-men: the last stand" | :titleize } // => "X Men: The Last Stand"
105
+ * { "TheManWithoutAPast" | :titleize } // => "The Man Without A Past"
106
+ * { "raiders_of_the_lost_ark" | :titleize } // => "Raiders Of The Lost Ark"
107
+ */
108
+
109
+ Walrus.addFilter('titleize', function(string) {
110
+ var capitalize, title, word, words;
111
+ title = string.replace(/[ \-_]+/g, ' ');
112
+ words = Walrus.Utils.trim(title.replace(/([A-Z])/g, " $&")).split(' ');
113
+ capitalize = function(word) {
114
+ return word.charAt(0).toUpperCase() + word.slice(1);
115
+ };
116
+ return ((function() {
117
+ var _i, _len, _results;
118
+ _results = [];
119
+ for (_i = 0, _len = words.length; _i < _len; _i++) {
120
+ word = words[_i];
121
+ _results.push(capitalize(word));
122
+ }
123
+ return _results;
124
+ })()).join(' ');
125
+ });
126
+
127
+ }).call(this);
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'walrus/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "walrus-rb"
8
+ spec.version = Walrus::VERSION
9
+ spec.platform = Gem::Platform::RUBY
10
+ spec.authors = ["Grant Klinsing"]
11
+ spec.email = ["grant@digitalopera.com"]
12
+ spec.summary = %q{Ruby bindings for the walrus.js templating library}
13
+ spec.description = %q{Uses the actual JavaScript implementation of walrus.js, but supports using Ruby objects as template contexts and Ruby procs as view functions and named helpers}
14
+ spec.homepage = "http://digitalopera.com"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(spec)/})
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency "therubyracer", "~> 0.12.0"
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.5"
25
+ spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "rspec", "~> 2.0"
27
+ spec.add_development_dependency 'mocha', '~> 0.13.1'
28
+ spec.add_development_dependency 'guard-rspec', '~> 2.3.0'
29
+ spec.add_development_dependency 'guard-spork', '~> 1.5.0'
30
+ end
metadata ADDED
@@ -0,0 +1,187 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: walrus-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.10.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Grant Klinsing
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: therubyracer
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.12.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.12.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.5'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: mocha
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.13.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.13.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 2.3.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 2.3.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-spork
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.5.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.5.0
111
+ description: Uses the actual JavaScript implementation of walrus.js, but supports
112
+ using Ruby objects as template contexts and Ruby procs as view functions and named
113
+ helpers
114
+ email:
115
+ - grant@digitalopera.com
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - ".gitignore"
121
+ - ".rspec"
122
+ - Gemfile
123
+ - Guardfile
124
+ - MIT-LICENSE
125
+ - README.md
126
+ - Rakefile
127
+ - lib/walrus.rb
128
+ - lib/walrus/config.rb
129
+ - lib/walrus/context.rb
130
+ - lib/walrus/version.rb
131
+ - spec/blocks_spec.rb
132
+ - spec/collections_spec.rb
133
+ - spec/context_spec.rb
134
+ - spec/currencies_spec.rb
135
+ - spec/dates_spec.rb
136
+ - spec/domain_spec.rb
137
+ - spec/filters_spec.rb
138
+ - spec/inflections_spec.rb
139
+ - spec/math_spec.rb
140
+ - spec/spec_helper.rb
141
+ - spec/strings_spec.rb
142
+ - spec/support/javascripts/walrus_domain_objects.js
143
+ - vendor/walrus.collections.js
144
+ - vendor/walrus.currencies.js
145
+ - vendor/walrus.dates.js
146
+ - vendor/walrus.inflections.js
147
+ - vendor/walrus.js
148
+ - vendor/walrus.math.js
149
+ - vendor/walrus.strings.js
150
+ - walrus.gemspec
151
+ homepage: http://digitalopera.com
152
+ licenses:
153
+ - MIT
154
+ metadata: {}
155
+ post_install_message:
156
+ rdoc_options: []
157
+ require_paths:
158
+ - lib
159
+ required_ruby_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ required_rubygems_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ requirements: []
170
+ rubyforge_project:
171
+ rubygems_version: 2.2.0
172
+ signing_key:
173
+ specification_version: 4
174
+ summary: Ruby bindings for the walrus.js templating library
175
+ test_files:
176
+ - spec/blocks_spec.rb
177
+ - spec/collections_spec.rb
178
+ - spec/context_spec.rb
179
+ - spec/currencies_spec.rb
180
+ - spec/dates_spec.rb
181
+ - spec/domain_spec.rb
182
+ - spec/filters_spec.rb
183
+ - spec/inflections_spec.rb
184
+ - spec/math_spec.rb
185
+ - spec/spec_helper.rb
186
+ - spec/strings_spec.rb
187
+ - spec/support/javascripts/walrus_domain_objects.js