jobshop 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 911cba16d1bf58d408dd6776437e6996e6fe04a3
4
- data.tar.gz: cfa8021ce4383cec99661fefadfb394c08dd3ade
3
+ metadata.gz: b1463be8a7e5b3c6f5f7f11f2f6a1b8947a4274b
4
+ data.tar.gz: c7b40e7bdb483fcb10e0643fc8663892d97f6019
5
5
  SHA512:
6
- metadata.gz: fb7a4111e42a7383f59c987d77adbdd14d2498b3ee680bbeddf374153162e6f2294e8d7ca582a2d6b99f1bfd061585ad1a634a922241486803b32682cf47d239
7
- data.tar.gz: aa5738597b6865e64806ca76ddf507508221f560e79bce0512d9cb3516503f93e761477ba638d1cf52c263e58e5f4278b157adc7c4693a49f689c1eb3d99f28c
6
+ metadata.gz: 2ad27ba441fb2ea19dcc49b9a314028738bb1d17713c40ea4a56be1cba003433e290f7aaedafeb3cd167214adc79a47302164b09541a7cc7e6b8f6869a6cf921
7
+ data.tar.gz: cd3289bea98d632f92628827a989fbc0f555d6c08671c9afcfde0f1e65d657d418f1092e1c2f6d453a88b0e29189d804542abbaba3100c8ff77f882baefed8d1
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Jobshop
2
- _This README is also [available in a friendly, navigable format](http://jobshop.frankjmattia.documentup.com)._
2
+ _This README is also [available in a friendly, navigable format](http://documentup.com/jobshop/jobshop/)._
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/jobshop.svg)](https://badge.fury.io/rb/jobshop)
5
5
  [![Code Climate](https://codeclimate.com/github/frankjmattia/jobshop/badges/gpa.svg)](https://codeclimate.com/github/frankjmattia/jobshop)
@@ -16,49 +16,62 @@ Jobshop only requires a few things:
16
16
  - Rails >= 5.0
17
17
  - PostgreSQL
18
18
 
19
- ## Installation
19
+ ## Quick Installation
20
20
 
21
- Start by generating a new rails app using the PostgreSQL adapter:
21
+ The Quick Installation is designed to get you up and running a local Jobshop
22
+ server with minimum effort. This instance will be ideal for evaluating Jobshop
23
+ on a small number of stations within your organization. If would like to deploy
24
+ to a production server or create a local development instance, a few extra
25
+ considerations will need to be made. There are no guides yet but pull requests
26
+ are always welcome.
27
+
28
+ First, generate a new rails app and target the PostgreSQL adapter.
22
29
 
23
30
  ```console
24
31
  $ rails new my_jobshop --database=postgresql
32
+ ```
33
+
34
+ Change into the app directory.
35
+
36
+ ```console
25
37
  $ cd my_jobshop
26
38
  ```
27
39
 
28
- Add jobshop to `Gemfile`:
40
+ Add jobshop to the application `Gemfile`.
29
41
 
30
42
  ```ruby
31
- gem "jobshop", "~> 0.0.3"
43
+ gem "jobshop", "~> 0.0.5"
32
44
  ```
33
45
 
34
- Bundle install your dependencies:
46
+ Bundle install the application's dependencies.
35
47
 
36
48
  ```console
37
49
  $ bundle install
38
50
  ```
39
51
 
40
- Edit `config/database.yml` if necessary, create the database and run and pending migrations:
52
+ `config/database.yml` should work out of the box however you should review it
53
+ and edit as necessary. Create the database.
41
54
 
42
55
  ```console
43
56
  $ rake db:create
44
- $ rake db:migrate
45
57
  ```
58
+ Run the newly pending migrations.
46
59
 
47
- Lastly, create your first Jobshop team:
48
-
49
- ```
50
- $ rails g Jobshop:team "My Team Name"
60
+ ```console
61
+ $ rake db:migrate
51
62
  ```
52
63
 
53
- Fire up your server `$ rails s` and navigate to the link provided by the team
54
- generator!
64
+ Fire up your server with `$ rails s` and point your web browser to
65
+ [http://localhost:3000](http://localhost:3000)
55
66
 
56
67
  ## Bug Reports
57
68
  If you discover a problem with Jobshop, we would like to know about it.
58
69
 
59
70
  [https://github.com/frankjmattia/jobshop/issues](https://github.com/frankjmattia/jobshop/issues)
60
71
 
61
- If you discover a security related bug, please do NOT use the GitHub issue tracker. Send an email to [frankjmattia@jobshop.io](mailto:frankjmattia@jobshop.io)
72
+ If you discover a security related bug, please do NOT use the GitHub issue
73
+ tracker. Send an email to
74
+ [frankjmattia@jobshop.io](mailto:frankjmattia@jobshop.io)
62
75
 
63
76
  ## License
64
77
  Jobshop
@@ -76,4 +89,5 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
76
89
  GNU Affero General Public License for more details.
77
90
 
78
91
  You should have received a copy of the GNU Affero General Public License
79
- along with this program. If not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
92
+ along with this program. If not, see
93
+ [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
@@ -3,6 +3,7 @@
3
3
  @import "material";
4
4
 
5
5
  @import "jobshop/breakpoints";
6
+ @import "jobshop/static";
6
7
 
7
8
  html, body {
8
9
  background-color: unquote("rgb(#{$palette-indigo-50})");
@@ -17,32 +18,14 @@ body { min-height: 100%; }
17
18
  @extend .mdl-layout;
18
19
  }
19
20
 
20
- body.static-index {
21
- & > .layout {
22
- @extend .mdl-layout, .mdl-layout--fixed-header;
23
-
24
- & > header {
25
- @extend .mdl-layout__header, .mdl-color--white, .mdl-color-text--black;
26
-
27
- & > div {
28
- @extend .mdl-layout__header-row;
29
-
30
- font-weight: bold !important;
31
- }
32
- }
33
- }
34
- }
35
21
 
36
22
  main {
37
- @extend .mdl-layout__content;
38
-
39
23
  display: flex;
40
24
  justify-content: center;
41
25
  }
42
26
 
43
27
  #sign-in,
44
28
  #register {
45
- @extend .mdl-card;
46
29
  @extend .mdl-shadow--2dp;
47
30
 
48
31
  margin: 1rem;
@@ -61,6 +44,10 @@ main {
61
44
  }
62
45
  }
63
46
 
47
+ .mdl-layout-title {
48
+ text-decoration: none;
49
+ }
50
+
64
51
  .mdl-menu__item a {
65
52
  color: inherit;
66
53
  font-weight: inherit;
@@ -93,172 +80,3 @@ main {
93
80
  @extend .mdl-button--colored;
94
81
  }
95
82
  }
96
-
97
- /**
98
- * .demo-avatar {
99
- * width: 48px;
100
- * height: 48px;
101
- * border-radius: 24px;
102
- * }
103
- *
104
- * .demo-layout {
105
- * .demo-header {
106
- * .mdl-textfield {
107
- * padding: 0px;
108
- * margin-top: 41px;
109
- *
110
- * .mdl-textfield__expandable-holder {
111
- * bottom: 19px;
112
- * }
113
- * }
114
- * }
115
- *
116
- * .demo-navigation {
117
- * .mdl-navigation__link {
118
- * display: flex !important;
119
- * flex-direction: row;
120
- * align-items: center;
121
- * color: rgba(255, 255, 255, 0.56);
122
- * font-weight: 500;
123
- * }
124
- *
125
- * .mdl-navigation__link:hover {
126
- * background-color: #00BCD4;
127
- * color: #37474F;
128
- * }
129
- * }
130
- *
131
- * .mdl-layout__header {
132
- * .mdl-layout__drawer-button { color: rgba(0, 0, 0, 0.54); }
133
- * }
134
- * }
135
- *
136
- * .mdl-layout__drawer {
137
- * .avatar { margin-bottom: 16px; }
138
- * }
139
- *
140
- * .demo-drawer {
141
- * border: none;
142
- *
143
- * /* iOS Safari specific workaround * /
144
- * .mdl-menu__container { z-index: -1; }
145
- * .demo-navigation { z-index: -2; }
146
- * /* END iOS Safari specific workaround * /
147
- *
148
- * .mdl-menu .mdl-menu__item {
149
- * display: flex;
150
- * align-items: center;
151
- *
152
- * a {
153
- * display: block;
154
- * }
155
- * }
156
- * }
157
- *
158
- * .demo-drawer-header {
159
- * box-sizing: border-box;
160
- * display: flex;
161
- * flex-direction: column;
162
- * justify-content: flex-end;
163
- * padding: 16px;
164
- * height: 151px;
165
- * }
166
- *
167
- * .demo-avatar-dropdown {
168
- * display: flex;
169
- * position: relative;
170
- * flex-direction: row;
171
- * align-items: center;
172
- * width: 100%;
173
- * }
174
- *
175
- * .demo-navigation {
176
- * flex-grow: 1;
177
- *
178
- * .mdl-navigation__link .material-icons {
179
- * font-size: 24px;
180
- * color: rgba(255, 255, 255, 0.56);
181
- * margin-right: 32px;
182
- * }
183
- * }
184
- *
185
- * .demo-content { max-width: 1080px; }
186
- *
187
- * .demo-cards {
188
- * align-items: flex-start;
189
- * align-content: flex-start;
190
- *
191
- * .demo-separator { height: 32px; }
192
- *
193
- * .mdl-card__title.mdl-card__title {
194
- * color: white;
195
- * font-size: 24px;
196
- * font-weight: 400;
197
- * }
198
- *
199
- * .mdl-card__actions {
200
- * a {
201
- * color: #00BCD4;
202
- * text-decoration: none;
203
- * }
204
- * }
205
- *
206
- * ul { padding: 0; }
207
- * h3 { font-size: 1em; }
208
- * }
209
- *
210
- * .demo-updates .mdl-card__title {
211
- * min-height: 200px;
212
- * background-image: url('images/dog.png');
213
- * background-position: 90% 100%;
214
- * background-repeat: no-repeat;
215
- * }
216
- *
217
- * .demo-options {
218
- * .material-icons { color: rgba(255, 255, 255, 0.89); }
219
- *
220
- * .mdl-card__actions {
221
- * height: 64px;
222
- * display: flex;
223
- * box-sizing: border-box;
224
- * align-items: center;
225
- * }
226
- *
227
- * .mdl-checkbox__box-outline {
228
- * border-color: rgba(255, 255, 255, 0.89);
229
- * }
230
- *
231
- * h3 { margin: 0; }
232
- *
233
- * ul {
234
- * margin: 0;
235
- * list-style-type: none;
236
- * }
237
- *
238
- * li { margin: 4px 0; }
239
- * }
240
- *
241
- * .demo-charts { align-items: center; }
242
- * .demo-chart:nth-child(1) { color: #ACEC00; }
243
- * .demo-chart:nth-child(2) { color: #00BBD6; }
244
- * .demo-chart:nth-child(3) { color: #BA65C9; }
245
- * .demo-chart:nth-child(4) { color: #EF3C79; }
246
- *
247
- * .demo-graphs {
248
- * padding: 16px 32px;
249
- * display: flex;
250
- * flex-direction: column;
251
- * align-items: stretch;
252
- * }
253
- *
254
- * /* TODO: Find a proper solution to have the graphs
255
- * * not float around outside their container in IE10/11.
256
- * * Using a browserhacks.com solution for now.
257
- * * /
258
- * _:-ms-input-placeholder, :root .demo-graphs { min-height: 664px; }
259
- * _:-ms-input-placeholder, :root .demo-graph { max-height: 300px; }
260
- * /* TODO end * /
261
- *
262
- * .demo-graph:nth-child(1) { color: #00b9d8; }
263
- * .demo-graph:nth-child(2) { color: #d9006e; }
264
- */
@@ -0,0 +1,39 @@
1
+ body.sessions-new,
2
+ body.static-index {
3
+ header {
4
+ @extend .mdl-color--white;
5
+ @extend .mdl-color-text--black;
6
+
7
+ z-index: 50;
8
+ margin: 0 !important;
9
+
10
+ .mdl-layout-title {
11
+ color: rgba(0, 0, 0, 0.87) !important;
12
+ opacity: 0.87;
13
+ font-weight: 700;
14
+ }
15
+
16
+ .mdl-navigation {
17
+ .mdl-navigation__link {
18
+ @extend .mdl-typography--text-uppercase;
19
+
20
+ background-color: transparent !important;
21
+ border-bottom: 4px solid transparent;
22
+ color: rgba(0, 0, 0, 0.87);
23
+ display: inline-block;
24
+ font-weight: 700;
25
+ height: 60px;
26
+ line-height: 68px;
27
+
28
+ &:hover {
29
+ border-bottom: 4px solid unquote("rgb(#{$palette-indigo-500})");
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ .mdl-layout__content {
36
+ display: flex;
37
+ justify-content: center;
38
+ }
39
+ }
@@ -2,6 +2,8 @@ module Jobshop
2
2
  class ApplicationController < ActionController::Base
3
3
  include Pundit
4
4
 
5
+ layout :layout_for_application
6
+
5
7
  protect_from_forgery
6
8
 
7
9
  # after_action :verify_authorized, except: :index
@@ -13,5 +15,13 @@ module Jobshop
13
15
  # flash[:alert] = "Please sign in."
14
16
  # redirect_to(request.referrer || main_app.root_path)
15
17
  # end
18
+
19
+ def layout_for_application
20
+ if devise_controller? && controller_name == "sessions"
21
+ "jobshop/unauthenticated"
22
+ else
23
+ "jobshop/application"
24
+ end
25
+ end
16
26
  end
17
27
  end
@@ -2,6 +2,8 @@ require_dependency "jobshop/application_controller"
2
2
 
3
3
  module Jobshop
4
4
  class PagesController < ApplicationController
5
+ layout :layout_for_page
6
+
5
7
  def show
6
8
  args = valid_page? ? [ template: page ]
7
9
  : [ file: "public/404.html", status: :not_found ]
@@ -18,11 +20,10 @@ module Jobshop
18
20
  "jobshop/pages/#{params[:page]}"
19
21
  end
20
22
 
21
- def layout
22
- case params[:page]
23
- when "index"
24
- :modal
25
- end
23
+ def layout_for_page
24
+ {
25
+ index: "jobshop/unauthenticated"
26
+ }.fetch(params[:page].to_sym)
26
27
  end
27
28
  end
28
29
  end
@@ -3,6 +3,8 @@ module Jobshop
3
3
  def body_class
4
4
  @body_class ||= if params.has_key?(:page)
5
5
  "static-#{params[:page]}"
6
+ elsif controller_name == "sessions"
7
+ "sessions-#{action_name}"
6
8
  end
7
9
  end
8
10
  end
@@ -1,14 +1,15 @@
1
- %div(class="session-layout")
2
- %main
3
- %div#sign-in
4
- = form_for(resource, builder: Jobshop::Builder, as: resource_name, url: session_path(resource_name)) do |f|
5
- .mdl-card__title
6
- %object.logo{ type: "image/svg+xml", data: image_path("jobshop/logo.svg") }
1
+ %main.mdl-layout__content
2
+ %div.mdl-grid
3
+ %div.mdl-cell.mdl-cell--12-col
4
+ %div#sign-in.mdl-card
5
+ = form_for(resource, builder: Jobshop::Builder, as: resource_name, url: session_path(resource_name)) do |f|
6
+ .mdl-card__title
7
+ %object.logo{ type: "image/svg+xml", data: image_path("jobshop/logo.svg") }
7
8
 
8
- .mdl-card__supporting-text
9
- %div= f.email_field(:email)
10
- %div= f.password_field(:password)
9
+ .mdl-card__supporting-text
10
+ %div= f.email_field(:email)
11
+ %div= f.password_field(:password)
11
12
 
12
- .mdl-card__actions
13
- %div= f.check_box :remember_me, "Remember me?"
14
- %div= f.button "Log in", class: "mdl-js-ripple-effect"
13
+ .mdl-card__actions
14
+ %div= f.check_box :remember_me, "Remember me?"
15
+ %div= f.button "Log in", class: "mdl-js-ripple-effect"
@@ -1,6 +1,2 @@
1
- %div.layout
2
- %header
3
- %div
4
- %span(class="mdl-layout-title") Jobshop
5
- %main
6
- %object.logo{ type: "image/svg+xml", data: image_path("jobshop/logo.svg") }
1
+ %main.mdl-layout__content
2
+ nothing yet~
@@ -0,0 +1,13 @@
1
+ %div.mdl-layout.mdl-js-layout.mdl-layout--fixed-header
2
+ %header.mdl-layout__header.mdl-layout__header--waterfall
3
+ %div.mdl-layout__header-row
4
+ %a.mdl-layout-title(href="#{jobshop.root_path}") Jobshop
5
+ %div.mdl-layout-spacer
6
+ %div.static-navigation-container
7
+ %nav.mdl-navigation
8
+ %a.mdl-navigation__link{ href: jobshop.about_path }
9
+ About
10
+ %a.mdl-navigation__link.mdl-color-text--pink{ href: jobshop.new_user_session_path }
11
+ Sign In
12
+
13
+ = yield
@@ -12,4 +12,4 @@
12
12
  = csrf_meta_tags
13
13
 
14
14
  %body{ class: body_class }
15
- = content_for?(:content) ? yield(:content) : yield
15
+ = content_for?(:body) ? yield(:body) : yield
@@ -0,0 +1,16 @@
1
+ = content_for(:body) do
2
+ %div.mdl-layout.mdl-js-layout.mdl-layout--fixed-header
3
+ %header.mdl-layout__header.mdl-layout__header--waterfall
4
+ %div.mdl-layout__header-row
5
+ %a.mdl-layout-title(href="#{jobshop.root_path}") Jobshop
6
+ %div.mdl-layout-spacer
7
+ %div.static-navigation-container
8
+ %nav.mdl-navigation
9
+ %a.mdl-navigation__link{ href: jobshop.about_path }
10
+ About
11
+ %a.mdl-navigation__link.mdl-color-text--pink{ href: jobshop.new_user_session_path }
12
+ Sign In
13
+
14
+ = yield
15
+
16
+ = render template: "layouts/jobshop/application"
@@ -8,6 +8,7 @@ Jobshop::Engine.routes.draw do
8
8
  controller: "teams/registrations"
9
9
  end
10
10
 
11
- get "/" => "pages#show", page: "index"
12
11
  get "/about" => redirect("https://jobshop.io"), as: :about
12
+
13
+ root to: "pages#show", page: "index"
13
14
  end
@@ -6,7 +6,7 @@ module Jobshop
6
6
  module VERSION
7
7
  MAJOR = 0
8
8
  MINOR = 0
9
- TINY = 5
9
+ TINY = 6
10
10
  PRE = nil
11
11
 
12
12
  CODE_NAME = "bump it up".freeze
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jobshop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Frank J. Mattia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-20 00:00:00.000000000 Z
11
+ date: 2016-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: coffee-rails
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.0
19
+ version: 4.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.0
26
+ version: 4.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: devise
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 4.1.0
33
+ version: 4.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 4.1.0
40
+ version: 4.2.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: haml-rails
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -236,22 +236,16 @@ dependencies:
236
236
  name: rspec-rails
237
237
  requirement: !ruby/object:Gem::Requirement
238
238
  requirements:
239
- - - ">="
240
- - !ruby/object:Gem::Version
241
- version: 3.5.0.beta3
242
- - - "<"
239
+ - - "~>"
243
240
  - !ruby/object:Gem::Version
244
- version: '3.6'
241
+ version: '3.5'
245
242
  type: :development
246
243
  prerelease: false
247
244
  version_requirements: !ruby/object:Gem::Requirement
248
245
  requirements:
249
- - - ">="
250
- - !ruby/object:Gem::Version
251
- version: 3.5.0.beta3
252
- - - "<"
246
+ - - "~>"
253
247
  - !ruby/object:Gem::Version
254
- version: '3.6'
248
+ version: '3.5'
255
249
  - !ruby/object:Gem::Dependency
256
250
  name: shoulda-matchers
257
251
  requirement: !ruby/object:Gem::Requirement
@@ -296,6 +290,7 @@ files:
296
290
  - app/assets/javascripts/jobshop/application.js
297
291
  - app/assets/stylesheets/jobshop/application.scss
298
292
  - app/assets/stylesheets/jobshop/breakpoints.scss
293
+ - app/assets/stylesheets/jobshop/static.scss
299
294
  - app/builders/jobshop/builder.rb
300
295
  - app/controllers/concerns/registration_token_validation.rb
301
296
  - app/controllers/jobshop/application_controller.rb
@@ -326,8 +321,10 @@ files:
326
321
  - app/views/devise/unlocks/new.html.haml
327
322
  - app/views/jobshop/dashboards/show.html.haml
328
323
  - app/views/jobshop/pages/index.html.haml
324
+ - app/views/jobshop/shared/_unauthenticated_layout.html.haml
329
325
  - app/views/jobshop/teams/registrations/new.html.haml
330
326
  - app/views/layouts/jobshop/application.html.haml
327
+ - app/views/layouts/jobshop/unauthenticated.html.haml
331
328
  - config/initializers/assets.rb
332
329
  - config/initializers/devise.rb
333
330
  - config/initializers/field_with_errors.rb