helios_aim 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
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