stormfront-rails 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.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/lib/stormfront/rails/version.rb +5 -0
- data/lib/stormfront/rails.rb +7 -0
- data/stormfront-rails.gemspec +22 -0
- data/vendor/assets/javascripts/stormfront/Alert.js +17 -0
- data/vendor/assets/javascripts/stormfront/Container.js +31 -0
- data/vendor/assets/javascripts/stormfront/Entity.js +53 -0
- data/vendor/assets/javascripts/stormfront/Errors.js +25 -0
- data/vendor/assets/javascripts/stormfront/KeyboardEvents.js +52 -0
- data/vendor/assets/javascripts/stormfront/Layout.js +60 -0
- data/vendor/assets/javascripts/stormfront/List.js +123 -0
- data/vendor/assets/javascripts/stormfront/MouseEvents.js +146 -0
- data/vendor/assets/javascripts/stormfront/Namespaces.js +5 -0
- data/vendor/assets/javascripts/stormfront/Overlay.js +178 -0
- data/vendor/assets/javascripts/stormfront/Reducer.js +9 -0
- data/vendor/assets/javascripts/stormfront/Request.js +39 -0
- data/vendor/assets/javascripts/stormfront/View.js +55 -0
- data/vendor/assets/javascripts/stormfront/ViewBase.js +57 -0
- data/vendor/assets/javascripts/stormfront/mixin/Dispatch.js +19 -0
- data/vendor/assets/javascripts/stormfront/mixin/Other.js +25 -0
- data/vendor/assets/javascripts/stormfront/support/Chaperone.js +69 -0
- data/vendor/assets/javascripts/stormfront/support/Template.js +75 -0
- data/vendor/assets/javascripts/stormfront/types/Arguments.js +27 -0
- data/vendor/assets/javascripts/stormfront/types/Class.js +25 -0
- data/vendor/assets/javascripts/stormfront/types/Hash.js +23 -0
- data/vendor/assets/javascripts/stormfront/types/Number.js +15 -0
- data/vendor/assets/javascripts/stormfront/types/Response.js +31 -0
- data/vendor/assets/javascripts/stormfront/types/String.js +44 -0
- data/vendor/assets/javascripts/stormfront/types/Time.js +29 -0
- data/vendor/assets/javascripts/stormfront.js +33 -0
- metadata +148 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
stormfront.string = function(text){
|
2
|
+
return new Stormfront.String(text);
|
3
|
+
};
|
4
|
+
|
5
|
+
Stormfront.String = Stormfront.Class.extend({
|
6
|
+
initialize: function(text){
|
7
|
+
this.text = text;
|
8
|
+
},
|
9
|
+
title: function(){
|
10
|
+
var sentence = _.str.capitalize(_.str.camelize(this.text)).split(/(?=[A-Z\d])/);
|
11
|
+
var displaySentence = "";
|
12
|
+
function processCharacter(character, i){
|
13
|
+
function whenPreviousWordIsNotAnAcronym() {
|
14
|
+
return i > 0 && sentence[i - 1].length > 1;
|
15
|
+
}
|
16
|
+
function whenPreviousWordISAnAcronymAndCurrentWordIsNotAnAcronym() {
|
17
|
+
return i > 0 && sentence[i - 1].length == 1 && sentence[i].length > 1;
|
18
|
+
}
|
19
|
+
if (whenPreviousWordIsNotAnAcronym() || whenPreviousWordISAnAcronymAndCurrentWordIsNotAnAcronym())
|
20
|
+
displaySentence += " ";
|
21
|
+
displaySentence += character;
|
22
|
+
}
|
23
|
+
_.each(sentence, processCharacter);
|
24
|
+
return displaySentence;
|
25
|
+
},
|
26
|
+
decimal: function(places, placeholder){
|
27
|
+
placeholder = placeholder || '';
|
28
|
+
places = places || 3;
|
29
|
+
var candidate = parseFloat(this.text);
|
30
|
+
return isNaN(candidate) ? placeholder : candidate.toFixed(places);
|
31
|
+
},
|
32
|
+
scientific: function(){
|
33
|
+
return this.text === null || $.trim(this.text) === '' ? '' : parseFloat(this.text).toExponential(3);
|
34
|
+
},
|
35
|
+
decimal_format: function(){
|
36
|
+
return this.decimal(this.text);
|
37
|
+
},
|
38
|
+
scientific_notation: function(){
|
39
|
+
return this.scientific(this.text);
|
40
|
+
},
|
41
|
+
firstWord: function(){
|
42
|
+
return this.text ? this.text.split(' ')[0] : '';
|
43
|
+
}
|
44
|
+
});
|
@@ -0,0 +1,29 @@
|
|
1
|
+
stormfront.time = function(datetime){
|
2
|
+
return new Stormfront.Time(datetime);
|
3
|
+
};
|
4
|
+
|
5
|
+
Stormfront.Time = Stormfront.Class.extend({
|
6
|
+
initialize: function(datetime){
|
7
|
+
this.time = moment(datetime || (new Date()).getTime());
|
8
|
+
},
|
9
|
+
now: function(){
|
10
|
+
return this.time;
|
11
|
+
},
|
12
|
+
getDiff: function(unit){
|
13
|
+
unit = unit || 'hours';
|
14
|
+
var now = moment().format();
|
15
|
+
return this.time.diff(now, unit);
|
16
|
+
},
|
17
|
+
getTimeAgo: function(){
|
18
|
+
return this.time.fromNow();
|
19
|
+
},
|
20
|
+
getLongDate: function(){
|
21
|
+
return this.time.format('MMMM D, YYYY h:mm:ss a');
|
22
|
+
},
|
23
|
+
getShortDate: function(){
|
24
|
+
return this.time.format('MMMM D, YYYY');
|
25
|
+
}
|
26
|
+
});
|
27
|
+
|
28
|
+
|
29
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
//= require underscore
|
2
|
+
//= require backbone
|
3
|
+
//= require moment
|
4
|
+
|
5
|
+
//= require stormfront/Namespaces
|
6
|
+
//= require stormfront/types/Class
|
7
|
+
|
8
|
+
//= require stormfront/types/Arguments
|
9
|
+
//= require stormfront/types/Hash
|
10
|
+
//= require stormfront/types/Number
|
11
|
+
//= require stormfront/types/Response
|
12
|
+
//= require stormfront/types/String
|
13
|
+
//= require stormfront/types/Time
|
14
|
+
|
15
|
+
//= require stormfront/support/Chaperone
|
16
|
+
//= require stormfront/support/Template
|
17
|
+
|
18
|
+
//= require stormfront/mixin/Dispatch
|
19
|
+
//= require stormfront/mixin/Other
|
20
|
+
|
21
|
+
//= require stormfront/KeyboardEvents
|
22
|
+
//= require stormfront/MouseEvents
|
23
|
+
|
24
|
+
//= require stormfront/ViewBase
|
25
|
+
//= require stormfront/View
|
26
|
+
//= require stormfront/Errors
|
27
|
+
//= require stormfront/Alert
|
28
|
+
//= require stormfront/Container
|
29
|
+
//= require stormfront/Entity
|
30
|
+
//= require stormfront/Layout
|
31
|
+
//= require stormfront/Overlay
|
32
|
+
//= require stormfront/Reducer
|
33
|
+
//= require stormfront/Request
|
metadata
ADDED
@@ -0,0 +1,148 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: stormfront-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Gee
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-10-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: simple-jquery-rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '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'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: simple-backbone-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: simple-momentjs-rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
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: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.7'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.7'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '10.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '10.0'
|
83
|
+
description: This is an initial extraction into a gem of the framework in use by my
|
84
|
+
company
|
85
|
+
email:
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- .gitignore
|
91
|
+
- Gemfile
|
92
|
+
- LICENSE.txt
|
93
|
+
- README.md
|
94
|
+
- Rakefile
|
95
|
+
- lib/stormfront/rails.rb
|
96
|
+
- lib/stormfront/rails/version.rb
|
97
|
+
- stormfront-rails.gemspec
|
98
|
+
- vendor/assets/javascripts/stormfront.js
|
99
|
+
- vendor/assets/javascripts/stormfront/Alert.js
|
100
|
+
- vendor/assets/javascripts/stormfront/Container.js
|
101
|
+
- vendor/assets/javascripts/stormfront/Entity.js
|
102
|
+
- vendor/assets/javascripts/stormfront/Errors.js
|
103
|
+
- vendor/assets/javascripts/stormfront/KeyboardEvents.js
|
104
|
+
- vendor/assets/javascripts/stormfront/Layout.js
|
105
|
+
- vendor/assets/javascripts/stormfront/List.js
|
106
|
+
- vendor/assets/javascripts/stormfront/MouseEvents.js
|
107
|
+
- vendor/assets/javascripts/stormfront/Namespaces.js
|
108
|
+
- vendor/assets/javascripts/stormfront/Overlay.js
|
109
|
+
- vendor/assets/javascripts/stormfront/Reducer.js
|
110
|
+
- vendor/assets/javascripts/stormfront/Request.js
|
111
|
+
- vendor/assets/javascripts/stormfront/View.js
|
112
|
+
- vendor/assets/javascripts/stormfront/ViewBase.js
|
113
|
+
- vendor/assets/javascripts/stormfront/mixin/Dispatch.js
|
114
|
+
- vendor/assets/javascripts/stormfront/mixin/Other.js
|
115
|
+
- vendor/assets/javascripts/stormfront/support/Chaperone.js
|
116
|
+
- vendor/assets/javascripts/stormfront/support/Template.js
|
117
|
+
- vendor/assets/javascripts/stormfront/types/Arguments.js
|
118
|
+
- vendor/assets/javascripts/stormfront/types/Class.js
|
119
|
+
- vendor/assets/javascripts/stormfront/types/Hash.js
|
120
|
+
- vendor/assets/javascripts/stormfront/types/Number.js
|
121
|
+
- vendor/assets/javascripts/stormfront/types/Response.js
|
122
|
+
- vendor/assets/javascripts/stormfront/types/String.js
|
123
|
+
- vendor/assets/javascripts/stormfront/types/Time.js
|
124
|
+
homepage: ''
|
125
|
+
licenses:
|
126
|
+
- MIT
|
127
|
+
metadata: {}
|
128
|
+
post_install_message:
|
129
|
+
rdoc_options: []
|
130
|
+
require_paths:
|
131
|
+
- lib
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - '>='
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
requirements: []
|
143
|
+
rubyforge_project:
|
144
|
+
rubygems_version: 2.2.2
|
145
|
+
signing_key:
|
146
|
+
specification_version: 4
|
147
|
+
summary: A framework built upon Backbone
|
148
|
+
test_files: []
|