helios_aim 0.2.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.
Files changed (79) hide show
  1. checksums.yaml +15 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +173 -0
  4. data/LICENSE +19 -0
  5. data/README.md +363 -0
  6. data/Rakefile +10 -0
  7. data/bin/helios +20 -0
  8. data/helios_aim.gemspec +47 -0
  9. data/lib/helios.rb +27 -0
  10. data/lib/helios/backend.rb +64 -0
  11. data/lib/helios/backend/data.rb +40 -0
  12. data/lib/helios/backend/in-app-purchase.rb +43 -0
  13. data/lib/helios/backend/newsstand.rb +97 -0
  14. data/lib/helios/backend/passbook.rb +41 -0
  15. data/lib/helios/backend/push-notification.rb +110 -0
  16. data/lib/helios/commands.rb +4 -0
  17. data/lib/helios/commands/console.rb +21 -0
  18. data/lib/helios/commands/link.rb +19 -0
  19. data/lib/helios/commands/new.rb +76 -0
  20. data/lib/helios/commands/server.rb +52 -0
  21. data/lib/helios/frontend.rb +66 -0
  22. data/lib/helios/frontend/fonts/icons.eot +0 -0
  23. data/lib/helios/frontend/fonts/icons.ttf +0 -0
  24. data/lib/helios/frontend/fonts/icons.woff +0 -0
  25. data/lib/helios/frontend/images/bg.jpg +0 -0
  26. data/lib/helios/frontend/images/helios.svg +33 -0
  27. data/lib/helios/frontend/javascripts/helios.coffee +72 -0
  28. data/lib/helios/frontend/javascripts/helios/collections.coffee +99 -0
  29. data/lib/helios/frontend/javascripts/helios/models.coffee +23 -0
  30. data/lib/helios/frontend/javascripts/helios/router.coffee +50 -0
  31. data/lib/helios/frontend/javascripts/helios/views.coffee +307 -0
  32. data/lib/helios/frontend/javascripts/vendor/backbone.datagrid.js +662 -0
  33. data/lib/helios/frontend/javascripts/vendor/backbone.js +1487 -0
  34. data/lib/helios/frontend/javascripts/vendor/backbone.paginator.js +1046 -0
  35. data/lib/helios/frontend/javascripts/vendor/codemirror.javascript.js +411 -0
  36. data/lib/helios/frontend/javascripts/vendor/codemirror.js +3047 -0
  37. data/lib/helios/frontend/javascripts/vendor/date.js +104 -0
  38. data/lib/helios/frontend/javascripts/vendor/foundation.js +331 -0
  39. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.alerts.js +50 -0
  40. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.clearing.js +478 -0
  41. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.cookie.js +74 -0
  42. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.dropdown.js +122 -0
  43. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.forms.js +403 -0
  44. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.joyride.js +613 -0
  45. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.magellan.js +130 -0
  46. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.orbit.js +355 -0
  47. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.placeholder.js +159 -0
  48. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.reveal.js +272 -0
  49. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.section.js +183 -0
  50. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.tooltips.js +195 -0
  51. data/lib/helios/frontend/javascripts/vendor/foundation/foundation.topbar.js +208 -0
  52. data/lib/helios/frontend/javascripts/vendor/jquery.js +9597 -0
  53. data/lib/helios/frontend/javascripts/vendor/jquery/jquery.fileupload-ui.js +807 -0
  54. data/lib/helios/frontend/javascripts/vendor/jquery/jquery.fileupload.js +1201 -0
  55. data/lib/helios/frontend/javascripts/vendor/jquery/jquery.ui.widget.js +530 -0
  56. data/lib/helios/frontend/javascripts/vendor/linkheaders.js +117 -0
  57. data/lib/helios/frontend/javascripts/vendor/underscore.js +1227 -0
  58. data/lib/helios/frontend/stylesheets/_codemirror.sass +219 -0
  59. data/lib/helios/frontend/stylesheets/_fonts.sass +80 -0
  60. data/lib/helios/frontend/stylesheets/_iphone.sass +141 -0
  61. data/lib/helios/frontend/stylesheets/_settings.scss +989 -0
  62. data/lib/helios/frontend/stylesheets/screen.sass +187 -0
  63. data/lib/helios/frontend/templates/data/entities.jst.tpl +11 -0
  64. data/lib/helios/frontend/templates/in-app-purchase/receipts.jst.tpl +11 -0
  65. data/lib/helios/frontend/templates/navigation.jst.tpl +31 -0
  66. data/lib/helios/frontend/templates/newsstand/issues.jst.tpl +16 -0
  67. data/lib/helios/frontend/templates/newsstand/new.jst.tpl +28 -0
  68. data/lib/helios/frontend/templates/passbook/passes.jst.tpl +11 -0
  69. data/lib/helios/frontend/templates/push-notification/compose.jst.tpl +70 -0
  70. data/lib/helios/frontend/templates/push-notification/devices.jst.tpl +17 -0
  71. data/lib/helios/frontend/views/index.haml +22 -0
  72. data/lib/helios/templates/.env.erb +1 -0
  73. data/lib/helios/templates/.gitignore +3 -0
  74. data/lib/helios/templates/Gemfile.erb +10 -0
  75. data/lib/helios/templates/Procfile.erb +1 -0
  76. data/lib/helios/templates/README.md.erb +4 -0
  77. data/lib/helios/templates/config.ru.erb +11 -0
  78. data/lib/helios/version.rb +3 -0
  79. metadata +475 -0
@@ -0,0 +1,187 @@
1
+ @import "compass"
2
+ +global-reset
3
+
4
+ @mixin helvetica-font-stack
5
+ font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif
6
+
7
+ @mixin meslo-font-stack
8
+ font-family: "Meslo", Menlo, Monaco, monospace
9
+
10
+ @import "./settings"
11
+ @import "./fonts"
12
+ @import "./iphone"
13
+ @import "./codemirror"
14
+
15
+ @import "foundation"
16
+
17
+ body
18
+ -webkit-text-stroke: 1px transparent
19
+ @media only screen and (max-device-width:480px)
20
+ body
21
+ -webkit-text-stroke: 0 black
22
+
23
+ [role="application"]
24
+ +grid-row
25
+
26
+ [role="banner"]
27
+ +grid-row($behavior: nest-collapse)
28
+
29
+ #logo
30
+ +helvetica-font-stack
31
+ font-weight: 700
32
+ text-align: left
33
+ +grid-column(2, $float: left)
34
+ padding-left: 13px
35
+
36
+ [role="navigation"]
37
+ +grid-row($behavior: nest-collapse)
38
+ +grid-column(10, $float: right)
39
+
40
+ ul
41
+ float: right !important
42
+ margin-top: 10px
43
+
44
+ li, a
45
+ color: #222
46
+
47
+ li
48
+ padding: 0
49
+
50
+ a
51
+ display: block
52
+ text-align: left
53
+ padding: 1em 0.5em 2em 0.6em
54
+ height: 2em
55
+
56
+ i
57
+ font-size: 1.5em
58
+ float: left
59
+ padding-right: 20px
60
+
61
+ [role="main"]
62
+ +grid-row($behavior: nest-collapse)
63
+
64
+ .master
65
+ +grid-column(12, $float: left)
66
+
67
+ .detail
68
+ +panel
69
+ +grid-column(4, $float: right, $last-column: true)
70
+ float: right !important
71
+
72
+ .detail + .master
73
+ +grid-column(8, $float: left)
74
+
75
+ .master
76
+ table
77
+ +border-radius(8px)
78
+ display: block
79
+ table-layout: fixed
80
+ width: 100%
81
+ overflow: auto
82
+
83
+ th
84
+ font-weight: 600
85
+ color: #333
86
+
87
+ tr td
88
+ max-width: 40em
89
+ white-space: nowrap
90
+ overflow: auto
91
+
92
+ div
93
+ max-height: 4.5em
94
+ overflow: auto
95
+ white-space: pre-wrap
96
+
97
+ .pagination
98
+ +grid-row($behavior: nest-collapse)
99
+ +pagination
100
+
101
+ display: none
102
+
103
+ ul
104
+ +grid-column(12, $center: true)
105
+
106
+
107
+ #datagrid
108
+ table + p
109
+ width: 100%
110
+ text-align: center
111
+ padding: 2em
112
+ font-size: 2em
113
+
114
+ .detail
115
+
116
+ form
117
+ fieldset
118
+ border: 0
119
+ padding: 0
120
+ ol
121
+ list-style: none
122
+ padding: 0
123
+ margin: 0
124
+
125
+ li
126
+ +grid-row
127
+
128
+ button, input[type="submit"]
129
+ +button
130
+
131
+ .auxiliary
132
+ +grid-row($behavior: nest-collapse)
133
+ margin: 10px 0
134
+
135
+ h2
136
+ width: 200px
137
+ float: left
138
+ margin-left: 15px
139
+
140
+ button, input, form
141
+ float: right !important
142
+
143
+ .filter input
144
+ width: 300px
145
+ margin-top: 5px
146
+ margin-left: 20px
147
+ margin-right: 15px
148
+
149
+ button, button:hover, .button, .button:hover
150
+ color: #222
151
+
152
+ &.dropdown
153
+ text-align: left !important
154
+
155
+ .dropdown.button:before
156
+ border-color: #222 transparent transparent transparent !important
157
+
158
+ #entities-dropdown
159
+ float: right
160
+ width: 300px
161
+ margin-right: 15px
162
+
163
+ #entities
164
+ margin-left: -86px
165
+ font-size: 1.5em
166
+
167
+ a
168
+ display: block
169
+
170
+ #compose-modal
171
+ width: 90%
172
+ left: 45%
173
+ top: 30px
174
+
175
+ .iphone
176
+ float: right
177
+
178
+ form
179
+ float: left
180
+ width: 500px
181
+
182
+ fieldset
183
+ border: none
184
+ padding: 0
185
+
186
+ legend
187
+ display: none
@@ -0,0 +1,11 @@
1
+ <div class="auxiliary">
2
+ <h2>Data</h2>
3
+ <a id="entities-dropdown" data-dropdown="entities" class="button dropdown">Entities</a>
4
+ <ul id="entities" class="f-dropdown">
5
+ <% _.each(entities.models, function(entity) { %>
6
+ <li><a href="#<%= entity.url() %>"><%= entity.get('name') %></a></li>
7
+ <% }) %>
8
+ </ul>
9
+ </div>
10
+
11
+ <div id="datagrid" class="master"></div>
@@ -0,0 +1,11 @@
1
+ <div class="auxiliary">
2
+ <h2>Receipts</h2>
3
+
4
+ <form class="filter">
5
+ <input type="text" placeholder="Filter Receipts..." value=""/>
6
+ </form>
7
+ </div>
8
+
9
+ <div class="master">
10
+ <div id="datagrid"></div>
11
+ </div>
@@ -0,0 +1,31 @@
1
+ <ul class="button-group">
2
+ <% if(Helios.services['data']) { %>
3
+ <li class="button">
4
+ <a href="#data"><i class="data"/> Data</a>
5
+ </li>
6
+ <% } %>
7
+
8
+ <% if(Helios.services['push-notification']) { %>
9
+ <li class="button">
10
+ <a href="#push-notification"><i class="push-notification"/> Push Notification</a>
11
+ </li>
12
+ <% } %>
13
+
14
+ <% if(Helios.services['in-app-purchase']) { %>
15
+ <li class="button">
16
+ <a href="#in-app-purchase"><i class="in-app-purchase"/> In-App Purchase</a>
17
+ </li>
18
+ <% } %>
19
+
20
+ <% if(Helios.services['passbook']) { %>
21
+ <li class="button">
22
+ <a href="#passbook"><i class="passbook"/> Passbook</a>
23
+ </li>
24
+ <% } %>
25
+
26
+ <% if(Helios.services['newsstand']) { %>
27
+ <li class="button">
28
+ <a href="#newsstand"><i class="data"/> Newsstand</a>
29
+ </li>
30
+ <% } %>
31
+ </ul>
@@ -0,0 +1,16 @@
1
+ <div class="auxiliary">
2
+ <h2>Issues</h2>
3
+
4
+ <form class="filter">
5
+ <input type="text" placeholder="Filter Issues..." value=""/>
6
+ </form>
7
+
8
+ <button class="button" data-reveal-id="new-issue-modal">Create</button>
9
+
10
+ </div>
11
+
12
+ <div class="master">
13
+ <div id="datagrid"></div>
14
+ </div>
15
+
16
+ <div id="new-issue-modal" class="reveal-modal"></div>
@@ -0,0 +1,28 @@
1
+ <h1>New Issue</h1>
2
+
3
+ <form id="new" action="<%= Helios.services['newsstand']%>/issues" method="post" enctype="multipart/form-data">
4
+ <ol>
5
+ <li>
6
+ <label>Name</lable>
7
+ <input type="text" name="name"/>
8
+ </li>
9
+ <li>
10
+ <label>Summary</lable>
11
+ <textarea name="summary"/>
12
+ </li>
13
+ <li>
14
+ <label>Covers</lable>
15
+ <input type="file" name="covers[]" multiple/>
16
+ </li>
17
+ <li>
18
+ <label>Assets</lable>
19
+ <input type="file" name="assets[]" multiple/>
20
+ </li>
21
+ <li>
22
+ <label>Published</lable>
23
+ <input type="datetime-local" name="published_at"/>
24
+ </li>
25
+ </ol>
26
+
27
+ <button id="create" type="button">Create</button>
28
+ </form>
@@ -0,0 +1,11 @@
1
+ <div class="auxiliary">
2
+ <h2>Passes</h2>
3
+
4
+ <form class="filter">
5
+ <input type="text" placeholder="Filter Passes..." value=""/>
6
+ </form>
7
+ </div>
8
+
9
+ <div class="master">
10
+ <div id="datagrid"></div>
11
+ </div>
@@ -0,0 +1,70 @@
1
+ <header>
2
+ <h1>Send a Push Notification</h1>
3
+ </header>
4
+
5
+ <form id="compose">
6
+ <!-- <fieldset id="recipients">
7
+ <legend>Recipients</legend>
8
+
9
+ <ol>
10
+ <li>
11
+ <input type="radio" name="recipients" value="all" id="recipients[all]"/>
12
+ <label for="recipients[all]">All Devices</label>
13
+ </li>
14
+ <li>
15
+ <input type="radio" name="recipients" value="specified" id="recipients[specified]"/>
16
+ <label for="recipients[specified]">Specified Devices</label>
17
+ <textarea id="tokens" name="tokens" rows="3", cols="50"></textarea>
18
+ </li>
19
+ </ol>
20
+ </fieldset> -->
21
+
22
+ <fieldset class="message">
23
+ <legend>Payload</legend>
24
+
25
+ <div class="span7">
26
+ <textarea id="payload" name="payload" rows="4" cols="50">
27
+ {
28
+ "aps": {
29
+ "alert": "Lorem ipsum dolar sit amet.",
30
+ "badge": 0
31
+ }
32
+ }</textarea>
33
+
34
+ <div class="alert">
35
+ <strong></strong> : <span></span>
36
+ </div>
37
+ </div>
38
+ </fieldset>
39
+
40
+ <hr/>
41
+
42
+ <button id="send" type="button">Send Push Notification</button>
43
+ </form>
44
+
45
+ <figure class="iphone preview">
46
+ <header>
47
+ <figure class="status">
48
+ <span class="signal">▁</span>
49
+ <span class="carrier">Carrier</span>
50
+ <span class="battery">100%</span>
51
+ </figure>
52
+
53
+ <time>
54
+ <span class="time">9:04</span>
55
+ <span class="date">Thursday, November 29</span>
56
+ </time>
57
+ </header>
58
+
59
+ <figure class="notification">
60
+ <h1>App Name</h1>
61
+ <p></p>
62
+ </figure>
63
+
64
+ <footer>
65
+ <figure class="slider">
66
+ <input type="range" value="0"></input>
67
+ <span>slide to view</span>
68
+ </figure>
69
+ </footer>
70
+ </figure>
@@ -0,0 +1,17 @@
1
+ <div class="auxiliary">
2
+ <h2>Devices</h2>
3
+
4
+ <form class="filter">
5
+ <input type="text" placeholder="Filter Devices..." value=""/>
6
+ </form>
7
+ <% if (false) { %>
8
+ <button class="button" data-reveal-id="compose-modal">Compose</button>
9
+ <% } %>
10
+ </div>
11
+
12
+ <div class="master">
13
+ <div id="datagrid">
14
+ </div>
15
+ </div>
16
+
17
+ <div id="compose-modal" class="reveal-modal"></div>
@@ -0,0 +1,22 @@
1
+ !!! 5
2
+ %html{lang: "en"}
3
+ %head
4
+ %meta{charset: "utf-8"}
5
+ %meta{:'http-equiv' => "X-UA-Compatible", content: "IE=edge,chrome=1"}
6
+ %meta{name: "generator", content: "Helios #{Helios::VERSION}"}
7
+ %title Helios
8
+ %link{rel: "license", href: "http://opensource.org/licenses/MIT", :title => "MIT License"}
9
+ %link{rel: "shortcut icon", href: "data:image/x-icon;,", type: "image/x-icon"}
10
+ = css :application
11
+
12
+ %body{role: 'application', data: {version: Helios::VERSION}}
13
+ %header{role: 'banner'}
14
+ %h1#logo
15
+ %a{href: ''}
16
+ %img{src: 'images/helios.svg'}
17
+
18
+ %nav{role: 'navigation'}
19
+
20
+ %div{role: 'main'}
21
+
22
+ = js :application
@@ -0,0 +1 @@
1
+ DATABASE_URL=postgres://localhost/<%= app_name %>
@@ -0,0 +1,3 @@
1
+ *
2
+ !.gitignore
3
+ !*.erb
@@ -0,0 +1,10 @@
1
+ source "https://rubygems.org"
2
+
3
+ <% if options.edge %>
4
+ gem 'helios', git: 'git://github.com/helios-framework/helios.git'
5
+ <% else %>
6
+ gem 'helios'
7
+ <% end %>
8
+
9
+ gem 'unicorn'
10
+ gem 'pg'
@@ -0,0 +1 @@
1
+ web: bundle exec unicorn -p $PORT
@@ -0,0 +1,4 @@
1
+ Welcome to Helios
2
+ =================
3
+
4
+ For more information on how to get started with Helios, go to https://github.com/helios-framework/helios.
@@ -0,0 +1,11 @@
1
+ require 'bundler'
2
+ Bundler.require
3
+
4
+ app = Helios::Application.new {
5
+ service :data, model: Dir['*.xcdatamodel*'].first rescue false
6
+ service :push_notification
7
+ service :in_app_purchase
8
+ service :passbook
9
+ }
10
+
11
+ run app