helios 0.0.5 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +38 -44
  4. data/bin/helios +2 -2
  5. data/example/Gemfile +2 -2
  6. data/example/Gemfile.lock +60 -49
  7. data/example/Procfile +1 -1
  8. data/example/Sample.xcdatamodeld/Sample.xcdatamodel/contents +11 -17
  9. data/example/config.ru +12 -1
  10. data/helios-0.1.0.gem +0 -0
  11. data/helios.gemspec +5 -3
  12. data/lib/helios.rb +9 -5
  13. data/lib/helios/backend.rb +27 -17
  14. data/lib/helios/backend/accounts.rb +38 -0
  15. data/lib/helios/backend/data.rb +7 -6
  16. data/lib/helios/backend/in-app-purchase.rb +10 -2
  17. data/lib/helios/backend/passbook.rb +12 -2
  18. data/lib/helios/backend/push-notification.rb +8 -1
  19. data/lib/helios/commands.rb +3 -1
  20. data/lib/helios/commands/link.rb +18 -0
  21. data/lib/helios/commands/new.rb +43 -6
  22. data/lib/helios/commands/server.rb +16 -0
  23. data/lib/helios/frontend.rb +11 -5
  24. data/lib/helios/frontend/fonts/icons.eot +0 -0
  25. data/lib/helios/frontend/fonts/icons.ttf +0 -0
  26. data/lib/helios/frontend/fonts/icons.woff +0 -0
  27. data/lib/helios/frontend/images/bg.jpg +0 -0
  28. data/lib/helios/frontend/javascripts/helios.coffee +5 -5
  29. data/lib/helios/frontend/javascripts/helios/collections.coffee +67 -6
  30. data/lib/helios/frontend/javascripts/helios/models.coffee +1 -4
  31. data/lib/helios/frontend/javascripts/helios/router.coffee +0 -14
  32. data/lib/helios/frontend/javascripts/helios/views.coffee +164 -23
  33. data/lib/helios/frontend/javascripts/vendor/backbone.paginator.js +1046 -0
  34. data/lib/helios/frontend/javascripts/vendor/codemirror.javascript.js +411 -0
  35. data/lib/helios/frontend/javascripts/vendor/codemirror.js +3047 -0
  36. data/lib/helios/frontend/javascripts/vendor/date.js +104 -0
  37. data/lib/helios/frontend/javascripts/{foundation → vendor}/foundation.js +0 -0
  38. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.alerts.js +0 -0
  39. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.clearing.js +0 -0
  40. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.cookie.js +0 -0
  41. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.dropdown.js +0 -0
  42. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.forms.js +0 -0
  43. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.joyride.js +0 -0
  44. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.magellan.js +0 -0
  45. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.orbit.js +0 -0
  46. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.placeholder.js +0 -0
  47. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.reveal.js +0 -0
  48. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.section.js +0 -0
  49. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.tooltips.js +0 -0
  50. data/lib/helios/frontend/javascripts/{foundation → vendor/foundation}/foundation.topbar.js +0 -0
  51. data/lib/helios/frontend/stylesheets/_codemirror.sass +219 -0
  52. data/lib/helios/frontend/stylesheets/_fonts.sass +80 -0
  53. data/lib/helios/frontend/stylesheets/_iphone.sass +141 -0
  54. data/lib/helios/frontend/stylesheets/_settings.scss +12 -11
  55. data/lib/helios/frontend/stylesheets/screen.sass +119 -34
  56. data/lib/helios/frontend/views/compose.jst.tpl +70 -0
  57. data/lib/helios/frontend/views/devices.jst.tpl +15 -2
  58. data/lib/helios/frontend/views/entities.jst.tpl +6 -4
  59. data/lib/helios/frontend/views/index.haml +24 -8
  60. data/lib/helios/frontend/views/passes.jst.tpl +10 -2
  61. data/lib/helios/frontend/views/receipts.jst.tpl +10 -2
  62. data/lib/helios/templates/Gemfile.erb +5 -2
  63. data/lib/helios/templates/Procfile.erb +1 -1
  64. data/lib/helios/templates/README.md.erb +1 -1
  65. data/lib/helios/templates/config.ru.erb +8 -1
  66. data/lib/helios/version.rb +1 -1
  67. metadata +174 -102
  68. data/helios-0.0.2.gem +0 -0
  69. data/helios-0.0.3.gem +0 -0
  70. data/helios-0.0.4.gem +0 -0
  71. data/lib/helios/frontend/images/data.png +0 -0
  72. data/lib/helios/frontend/images/data.svg +0 -1
  73. data/lib/helios/frontend/images/in-app-purchase.png +0 -0
  74. data/lib/helios/frontend/images/in-app-purchase.svg +0 -1
  75. data/lib/helios/frontend/images/passbook.png +0 -0
  76. data/lib/helios/frontend/images/passbook.svg +0 -1
  77. data/lib/helios/frontend/images/push-notification.png +0 -0
  78. data/lib/helios/frontend/images/push-notification.svg +0 -1
  79. data/lib/helios/frontend/templates/data/entities.hbs +0 -7
  80. data/lib/helios/frontend/templates/data/entity.hbs +0 -17
  81. data/lib/helios/frontend/templates/in-app-purchase/receipt.hbs +0 -53
  82. data/lib/helios/frontend/templates/in-app-purchase/receipts.hbs +0 -39
  83. data/lib/helios/frontend/templates/passbook/passes.hbs +0 -25
  84. data/lib/helios/frontend/templates/push-notification/device.hbs +0 -35
  85. data/lib/helios/frontend/templates/push-notification/devices.hbs +0 -37
@@ -15,23 +15,24 @@
15
15
  // $em-base: 16px;
16
16
 
17
17
  // We use these to control various global styles
18
- // $body-bg: #fff;
19
- // $body-font-color: #222;
18
+
19
+ $body-bg: #0f1219 url("../images/bg.png");
20
+ $body-font-color: #cccccc;
20
21
  // $body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
21
22
  // $body-font-weight: normal;
22
23
  // $body-font-style: normal;
23
24
 
24
25
  // We use this to control font-smoothing
25
- // $font-smoothing: antialiased;
26
+ $font-smoothing: subpixel-antialiased;
26
27
 
27
28
  // We use these to control text direction settings
28
29
  // $text-direction: ltr;
29
30
 
30
31
  // We use these as default colors throughout
31
- // $primary-color: #2ba6cb;
32
- // $secondary-color: #e9e9e9;
33
- // $alert-color: #c60f13;
34
- // $success-color: #5da423;
32
+ $primary-color: #bfbc3d;
33
+ $secondary-color: #bfbc3d;
34
+ $alert-color: #c60f13;
35
+ $success-color: #5da423;
35
36
 
36
37
  // We use these to make sure border radius matches unless we want it different.
37
38
  // $global-radius: 3px;
@@ -70,10 +71,10 @@
70
71
  //
71
72
 
72
73
  // We use these to control header font styles
73
- // $header-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
74
- // $header-font-weight: bold;
75
- // $header-font-style: normal;
76
- // $header-font-color: #222;
74
+ $header-font-family: "Bariol", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
75
+ $header-font-weight: 400;
76
+ $header-font-style: normal;
77
+ $header-font-color: $primary-color;
77
78
  // $header-line-height: 1.4;
78
79
  // $header-top-margin: .2em;
79
80
  // $header-bottom-margin: .5em;
@@ -1,69 +1,90 @@
1
- @import "compass/reset"
1
+ @import "compass"
2
2
  +global-reset
3
3
 
4
- @import "foundation/foundation-global"
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
+
5
15
  @import "foundation"
6
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
+
7
23
  [role="application"]
8
24
  +grid-row
9
25
 
10
26
  [role="banner"]
11
- +grid-row($behavior: nest)
27
+ +grid-row($behavior: nest-collapse)
12
28
  #logo
13
29
  font-family: "Bariol"
14
- +grid-column(4, $float: left)
30
+ font-weight: 700
31
+ text-align: left
32
+ +grid-column(2, $float: left)
33
+ padding-left: 13px
15
34
 
16
35
  [role="navigation"]
17
- +grid-column(8, $float: right, $last-column: true)
18
36
  +grid-row($behavior: nest-collapse)
37
+ +grid-column(10, $float: right)
19
38
 
20
39
  ul
21
- +block-grid(4)
40
+ float: right !important
41
+ margin-top: 10px
22
42
 
23
43
  li, a
24
- display: block
44
+ color: #222
25
45
 
26
46
  li
47
+ padding: 0
48
+
27
49
  a
28
- padding-top: 50px
29
-
30
- &.data a
31
- background: url("../images/data.png") center center no-repeat
32
- &.push-notification a
33
- background: url("../images/push-notification.png") center center no-repeat
34
- &.in-app-purchase a
35
- background: url("../images/in-app-purchase.png") center center no-repeat
36
- &.passbook a
37
- background: url("../images/passbook.png") center center no-repeat
38
- a
39
- text-align: center
40
- font-size: 0.825em
41
50
  display: block
42
- height: 60px
51
+ text-align: left
52
+ padding: 1em 1.5em 2em 1.5em
53
+ height: 2em
54
+
55
+ i
56
+ font-size: 1.5em
57
+ float: left
58
+ padding-right: 20px
43
59
 
44
60
  [role="main"]
45
61
  +grid-row($behavior: nest-collapse)
46
-
47
- .auxiliary
48
- +grid-row($behavior: nest-collapse)
49
- margin: 1em 0
50
- input[type="search"]
51
- +grid-column(4, $float: right)
52
- font-size: 1.25em
53
- select#entities
54
- +grid-column(4, $float: left)
55
62
 
56
63
  .master
64
+ +grid-column(12, $float: left)
65
+
66
+ .detail
67
+ +panel
68
+ +grid-column(4, $float: right, $last-column: true)
69
+ float: right !important
70
+
71
+ .detail + .master
57
72
  +grid-column(8, $float: left)
58
73
 
74
+ .master
59
75
  table
76
+ +border-radius(8px)
60
77
  display: block
61
78
  table-layout: fixed
62
79
  width: 100%
63
80
  overflow: auto
64
81
 
82
+ th
83
+ font-weight: 600
84
+ color: #333
85
+
65
86
  tr td
66
- max-width: 240px
87
+ max-width: 40em
67
88
  white-space: nowrap
68
89
  overflow: auto
69
90
 
@@ -76,12 +97,21 @@
76
97
  +grid-row($behavior: nest-collapse)
77
98
  +pagination
78
99
 
100
+ display: none
101
+
79
102
  ul
80
- +grid-column(10, $center: true)
103
+ +grid-column(12, $center: true)
104
+
105
+
106
+ #datagrid
107
+ table + p
108
+ width: 100%
109
+ text-align: center
110
+ padding: 2em
111
+ font-size: 2em
81
112
 
82
113
  .detail
83
- +grid-column(4, $float: left, $last-column: true)
84
- +panel
114
+
85
115
  form
86
116
  fieldset
87
117
  border: 0
@@ -96,3 +126,58 @@
96
126
 
97
127
  button, input[type="submit"]
98
128
  +button
129
+
130
+ .auxiliary
131
+ +grid-row($behavior: nest-collapse)
132
+ margin: 10px 0
133
+
134
+ h2
135
+ width: 200px
136
+ float: left
137
+ margin-left: 15px
138
+
139
+ button, input, form
140
+ float: right !important
141
+
142
+ .filter input
143
+ width: 300px
144
+ margin-top: 5px
145
+ margin-left: 20px
146
+ margin-right: 15px
147
+
148
+ button, button:hover, .button, .button:hover
149
+ color: #222
150
+
151
+ &.dropdown
152
+ text-align: left !important
153
+
154
+ .dropdown.button:before
155
+ border-color: #222 transparent transparent transparent !important
156
+
157
+ #entities-dropdown
158
+ float: right
159
+ width: 300px
160
+ margin-right: 15px
161
+
162
+ #entities
163
+ margin-left: -140px
164
+ font-size: 1.5em
165
+
166
+ #compose-modal
167
+ width: 90%
168
+ left: 45%
169
+ top: 30px
170
+
171
+ .iphone
172
+ float: right
173
+
174
+ form
175
+ float: left
176
+ width: 500px
177
+
178
+ fieldset
179
+ border: none
180
+ padding: 0
181
+
182
+ legend
183
+ display: none
@@ -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>
@@ -1,3 +1,16 @@
1
- <h2>Devices</h2>
1
+ <div class="auxiliary">
2
+ <h2>Devices</h2>
2
3
 
3
- <div id="datagrid" class="master"></div>
4
+ <form class="filter">
5
+ <input type="text" placeholder="Filter Devices..." value=""/>
6
+ </form>
7
+ <button class="button" data-reveal-id="compose-modal">Compose</button>
8
+
9
+ </div>
10
+
11
+ <div class="master">
12
+ <div id="datagrid">
13
+ </div>
14
+ </div>
15
+
16
+ <div id="compose-modal" class="reveal-modal"></div>
@@ -1,9 +1,11 @@
1
1
  <div class="auxiliary">
2
- <select id="entities">
2
+ <h2>Data</h2>
3
+ <a id="entities-dropdown" data-dropdown="entities" class="button dropdown">Entities</a>
4
+ <ul id="entities" class="f-dropdown">
3
5
  <% _.each(entities.models, function(entity) { %>
4
- <option value="<%= entity.url() %>"><%= entity.get('name') %></option>
6
+ <li><a href="#<%= entity.url() %>"><%= entity.get('name') %></a></li>
5
7
  <% }) %>
6
- </select>
8
+ </ul>
7
9
  </div>
8
10
 
9
- <div id="datagrid" class="master"></div>
11
+ <div id="datagrid" class="master"></div>
@@ -4,22 +4,38 @@
4
4
  %meta{charset: "utf-8"}
5
5
  %meta{:'http-equiv' => "X-UA-Compatible", content: "IE=edge,chrome=1"}
6
6
  %title Helios
7
- %link{rel: "shortcut icon", href: "/favicon.ico", type: "image/x-icon"}
8
7
  %link{rel: "license", href: "http://opensource.org/licenses/MIT", :title => "MIT License"}
9
8
  %link{rel: "description", href: "Helios"}
10
9
  = css :application
11
10
 
12
- %body{role: 'application'}
11
+ %body{role: 'application', data: {version: Helios::VERSION}}
13
12
  %header{role: 'banner'}
14
- %h1#logo
13
+ %h1#logo
15
14
  %a{href: ''} Helios
16
15
 
17
16
  %nav{role: 'navigation'}
18
- %ul
19
- - for service in ['Data', 'Push Notification', 'In-App Purchase', 'Passbook']
20
- - slug = service.downcase.gsub(/\W/, '-')
21
- %li{class: slug}
22
- %a{href: "##{slug}"}= service
17
+ %ul.button-group
18
+ %li.button
19
+ %a{href: "#data"}
20
+ %i.data
21
+ Data
22
+ %li.button
23
+ %a{href: "#push-notification"}
24
+ %i.push-notification
25
+ Push Notification
26
+
27
+ %li.button
28
+ %a{href: "#in-app-purchase"}
29
+ %i.in-app-purchase
30
+ In-App Purchase
31
+
32
+ %li.button
33
+ %a{href: "#passbook"}
34
+ %i.passbook
35
+ Passbook
36
+
37
+
38
+
23
39
 
24
40
  %div{role: 'main'}
25
41
 
@@ -1,3 +1,11 @@
1
- <h2>Passes</h2>
1
+ <div class="auxiliary">
2
+ <h2>Passes</h2>
2
3
 
3
- <div id="datagrid" class="master"></div>
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>
@@ -1,3 +1,11 @@
1
- <h2>Receipts</h2>
1
+ <div class="auxiliary">
2
+ <h2>Receipts</h2>
2
3
 
3
- <div id="datagrid" class="master"></div>
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>
@@ -1,7 +1,10 @@
1
1
  source "https://rubygems.org"
2
2
 
3
+ <% if options.edge %>
4
+ gem 'helios', git: 'git://github.com/helios-framework/helios.git'
5
+ <% else %>
3
6
  gem 'helios'
7
+ <% end %>
4
8
 
9
+ gem 'unicorn'
5
10
  gem 'pg'
6
-
7
- gem 'thin', '~>1.4.1'