stormfront-rails 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +31 -0
  6. data/Rakefile +2 -0
  7. data/lib/stormfront/rails/version.rb +5 -0
  8. data/lib/stormfront/rails.rb +7 -0
  9. data/stormfront-rails.gemspec +22 -0
  10. data/vendor/assets/javascripts/stormfront/Alert.js +17 -0
  11. data/vendor/assets/javascripts/stormfront/Container.js +31 -0
  12. data/vendor/assets/javascripts/stormfront/Entity.js +53 -0
  13. data/vendor/assets/javascripts/stormfront/Errors.js +25 -0
  14. data/vendor/assets/javascripts/stormfront/KeyboardEvents.js +52 -0
  15. data/vendor/assets/javascripts/stormfront/Layout.js +60 -0
  16. data/vendor/assets/javascripts/stormfront/List.js +123 -0
  17. data/vendor/assets/javascripts/stormfront/MouseEvents.js +146 -0
  18. data/vendor/assets/javascripts/stormfront/Namespaces.js +5 -0
  19. data/vendor/assets/javascripts/stormfront/Overlay.js +178 -0
  20. data/vendor/assets/javascripts/stormfront/Reducer.js +9 -0
  21. data/vendor/assets/javascripts/stormfront/Request.js +39 -0
  22. data/vendor/assets/javascripts/stormfront/View.js +55 -0
  23. data/vendor/assets/javascripts/stormfront/ViewBase.js +57 -0
  24. data/vendor/assets/javascripts/stormfront/mixin/Dispatch.js +19 -0
  25. data/vendor/assets/javascripts/stormfront/mixin/Other.js +25 -0
  26. data/vendor/assets/javascripts/stormfront/support/Chaperone.js +69 -0
  27. data/vendor/assets/javascripts/stormfront/support/Template.js +75 -0
  28. data/vendor/assets/javascripts/stormfront/types/Arguments.js +27 -0
  29. data/vendor/assets/javascripts/stormfront/types/Class.js +25 -0
  30. data/vendor/assets/javascripts/stormfront/types/Hash.js +23 -0
  31. data/vendor/assets/javascripts/stormfront/types/Number.js +15 -0
  32. data/vendor/assets/javascripts/stormfront/types/Response.js +31 -0
  33. data/vendor/assets/javascripts/stormfront/types/String.js +44 -0
  34. data/vendor/assets/javascripts/stormfront/types/Time.js +29 -0
  35. data/vendor/assets/javascripts/stormfront.js +33 -0
  36. 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: []