jobshop 0.0.5 → 0.0.6

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.
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