date_book 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -1
  3. data/.rubocop_todo.yml +2 -1
  4. data/.travis.yml +3 -0
  5. data/Gemfile +16 -4
  6. data/Gemfile.lock +14 -2
  7. data/VERSION +1 -1
  8. data/app/assets/javascripts/date_book/calendar_events.js +3 -3
  9. data/app/assets/stylesheets/date_book.css.scss +31 -2
  10. data/app/controllers/date_book/calendars_controller.rb +30 -19
  11. data/app/controllers/date_book/date_book_controller.rb +1 -1
  12. data/app/controllers/date_book/events_controller.rb +60 -62
  13. data/app/controllers/date_book/graphql_controller.rb +10 -11
  14. data/app/graphql/date_book_schema.rb +4 -4
  15. data/app/graphql/types/calendar_type.rb +4 -2
  16. data/app/graphql/types/date_time_type.rb +9 -5
  17. data/app/graphql/types/event_occurrence_type.rb +4 -2
  18. data/app/graphql/types/event_type.rb +4 -2
  19. data/app/graphql/types/mutation_type.rb +3 -1
  20. data/app/graphql/types/query_type.rb +12 -26
  21. data/app/helpers/date_book/application_helper.rb +4 -7
  22. data/app/helpers/date_book/events_helper.rb +43 -23
  23. data/app/views/date_book/application/_date_range.html.haml +3 -3
  24. data/app/views/date_book/calendars/index.html.haml +19 -3
  25. data/app/views/date_book/calendars/show.html.haml +29 -4
  26. data/app/views/date_book/events/_event.json.jbuilder +3 -1
  27. data/app/views/date_book/events/_form.html.haml +4 -4
  28. data/app/views/date_book/events/_occurrence_dates.html.haml +3 -3
  29. data/app/views/date_book/events/fields/_date.html.haml +1 -1
  30. data/app/views/date_book/events/fields/_day.html.haml +1 -1
  31. data/app/views/date_book/events/fields/_day_of_week.html.haml +3 -3
  32. data/app/views/date_book/events/fields/_duration.html.haml +3 -3
  33. data/app/views/date_book/events/fields/_interval.html.haml +1 -1
  34. data/app/views/date_book/events/fields/_time.html.haml +1 -1
  35. data/app/views/date_book/events/index.html.haml +1 -1
  36. data/app/views/date_book/events/rules/_daily.html.haml +3 -3
  37. data/app/views/date_book/events/rules/_monthly.html.haml +4 -4
  38. data/app/views/date_book/events/rules/_singular.html.haml +3 -3
  39. data/app/views/date_book/events/rules/_weekly.html.haml +4 -4
  40. data/app/views/date_book/events/show.html.haml +1 -1
  41. data/app/views/layouts/_date_book_scripts.html.haml +2 -4
  42. data/config/locales/en.yml +2 -0
  43. data/config/routes.rb +1 -1
  44. data/date_book.gemspec +25 -22
  45. data/db/migrate/20170807133845_create_calendars.rb +3 -0
  46. data/db/migrate/20170807133846_create_events.rb +3 -0
  47. data/db/migrate/20170807133847_create_schedules.rb +9 -6
  48. data/db/migrate/20170807133848_add_fields_to_schedule.rb +3 -0
  49. data/db/migrate/20170807133849_create_event_occurrences.rb +4 -3
  50. data/db/migrate/20170807133850_add_fields_to_event_occurrences.rb +3 -0
  51. data/lib/date_book.rb +11 -2
  52. data/lib/date_book/concerns/ability.rb +9 -12
  53. data/lib/date_book/concerns/acts_as_calendar.rb +5 -6
  54. data/lib/date_book/concerns/acts_as_event.rb +30 -9
  55. data/lib/date_book/concerns/acts_as_event_occurrence.rb +21 -9
  56. data/lib/date_book/concerns/acts_as_ownable.rb +9 -3
  57. data/lib/date_book/concerns/acts_as_owner.rb +5 -6
  58. data/lib/date_book/concerns/acts_as_schedule.rb +14 -7
  59. data/lib/date_book/configuration.rb +14 -11
  60. data/lib/date_book/engine.rb +7 -5
  61. data/lib/date_book/version.rb +2 -0
  62. data/lib/generators/date_book/install/install_generator.rb +27 -29
  63. data/lib/generators/date_book/install/templates/app/models/calendar.rb +4 -1
  64. data/lib/generators/date_book/install/templates/app/models/event.rb +4 -1
  65. data/lib/generators/date_book/install/templates/app/models/event_occurrence.rb +4 -1
  66. data/lib/generators/date_book/install/templates/app/models/schedule.rb +4 -1
  67. data/spec/abilities/event_spec.rb +1 -1
  68. data/spec/controllers/date_book/calendars_controller_spec.rb +48 -20
  69. data/spec/controllers/date_book/events_controller_spec.rb +145 -39
  70. data/spec/dummy/app/models/calendar.rb +3 -1
  71. data/spec/dummy/app/models/event.rb +3 -1
  72. data/spec/dummy/app/models/event_occurrence.rb +3 -1
  73. data/spec/dummy/app/models/role.rb +7 -5
  74. data/spec/dummy/app/models/schedule.rb +3 -1
  75. data/spec/dummy/app/models/user.rb +3 -3
  76. data/spec/dummy/config/initializers/devise.rb +61 -40
  77. data/spec/dummy/config/initializers/high_voltage.rb +2 -0
  78. data/spec/dummy/config/initializers/rolify.rb +5 -2
  79. data/spec/dummy/config/routes.rb +6 -9
  80. data/spec/dummy/db/development.sqlite3 +0 -0
  81. data/spec/dummy/db/migrate/20170728171103_create_users_table.rb +2 -0
  82. data/spec/dummy/db/migrate/20170807134122_add_devise_to_users.rb +4 -3
  83. data/spec/dummy/db/migrate/20170807134128_rolify_create_roles.rb +6 -4
  84. data/spec/dummy/db/migrate/{20170808150915_create_calendars.date_book.rb → 20170808200808_create_calendars.date_book.rb} +3 -0
  85. data/spec/dummy/db/migrate/{20170808150916_create_events.date_book.rb → 20170808200809_create_events.date_book.rb} +3 -0
  86. data/spec/dummy/db/migrate/{20170808150917_create_schedules.date_book.rb → 20170808200810_create_schedules.date_book.rb} +9 -6
  87. data/spec/dummy/db/migrate/{20170808150918_add_fields_to_schedule.date_book.rb → 20170808200811_add_fields_to_schedule.date_book.rb} +3 -0
  88. data/spec/dummy/db/migrate/{20170808150919_create_event_occurrences.date_book.rb → 20170808200812_create_event_occurrences.date_book.rb} +4 -3
  89. data/spec/dummy/db/migrate/{20170808150920_add_fields_to_event_occurrences.date_book.rb → 20170808200813_add_fields_to_event_occurrences.date_book.rb} +3 -0
  90. data/spec/dummy/db/schema.rb +1 -1
  91. data/spec/dummy/db/seeds/calendars.seeds.rb +2 -1
  92. data/spec/dummy/db/seeds/events.seeds.rb +5 -5
  93. data/spec/dummy/db/seeds/users.seeds.rb +3 -1
  94. data/spec/dummy/db/test.sqlite3 +0 -0
  95. data/spec/dummy/lib/basic_benchmark.rb +2 -0
  96. data/spec/factories/calendars.rb +2 -0
  97. data/spec/factories/events.rb +2 -0
  98. data/spec/factories/roles.rb +2 -1
  99. data/spec/factories/users.rb +2 -0
  100. data/spec/features/calendars_spec.rb +47 -5
  101. data/spec/features/events_spec.rb +35 -9
  102. data/spec/helpers/date_book/application_helper_spec.rb +32 -0
  103. data/spec/helpers/date_book/events_helper_spec.rb +181 -13
  104. data/spec/models/calendar_spec.rb +3 -1
  105. data/spec/models/event_spec.rb +3 -1
  106. data/spec/models/role_spec.rb +1 -0
  107. data/spec/rails_helper.rb +6 -1
  108. data/spec/requests/date_book/api_spec.rb +76 -0
  109. data/spec/routing/date_book/calendars_routing_spec.rb +4 -2
  110. data/spec/routing/date_book/events_routing_spec.rb +48 -11
  111. data/spec/support/controller_behaviors.rb +2 -0
  112. data/spec/support/controller_macros.rb +3 -1
  113. data/spec/support/factory_girl.rb +2 -0
  114. data/spec/support/feature_behaviors.rb +9 -9
  115. data/spec/support/loaded_site.rb +2 -0
  116. data/spec/support/loaded_site/calendars.rb +2 -0
  117. data/spec/support/loaded_site/events.rb +3 -1
  118. data/spec/support/loaded_site/users.rb +2 -0
  119. data/spec/support/request_behaviors.rb +12 -63
  120. data/spec/support/shared_connection.rb +2 -0
  121. data/spec/support/utilities.rb +6 -5
  122. metadata +79 -42
  123. data/app/graphql/types/profile_type.rb +0 -7
  124. data/app/helpers/date_book/calendar_helper.rb +0 -4
  125. data/app/views/date_book/application/_all_day_checkbox.html.haml +0 -1
  126. data/bin/rails +0 -15
  127. data/spec/helpers/date_book/calendar_helper_spec.rb +0 -17
  128. data/spec/requests/date_book/events_spec.rb +0 -56
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: date_book
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karen Lundgren
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-08 00:00:00.000000000 Z
11
+ date: 2017-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -172,6 +172,26 @@ dependencies:
172
172
  - - ">="
173
173
  - !ruby/object:Gem::Version
174
174
  version: '1.0'
175
+ - !ruby/object:Gem::Dependency
176
+ name: sass-rails
177
+ requirement: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "<"
180
+ - !ruby/object:Gem::Version
181
+ version: '6'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: '5.0'
185
+ type: :runtime
186
+ prerelease: false
187
+ version_requirements: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - "<"
190
+ - !ruby/object:Gem::Version
191
+ version: '6'
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '5.0'
175
195
  - !ruby/object:Gem::Dependency
176
196
  name: jbuilder
177
197
  requirement: !ruby/object:Gem::Requirement
@@ -346,6 +366,26 @@ dependencies:
346
366
  - - ">="
347
367
  - !ruby/object:Gem::Version
348
368
  version: '2.9'
369
+ - !ruby/object:Gem::Dependency
370
+ name: font-awesome-rails
371
+ requirement: !ruby/object:Gem::Requirement
372
+ requirements:
373
+ - - "<"
374
+ - !ruby/object:Gem::Version
375
+ version: '5'
376
+ - - ">="
377
+ - !ruby/object:Gem::Version
378
+ version: '4.7'
379
+ type: :runtime
380
+ prerelease: false
381
+ version_requirements: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - "<"
384
+ - !ruby/object:Gem::Version
385
+ version: '5'
386
+ - - ">="
387
+ - !ruby/object:Gem::Version
388
+ version: '4.7'
349
389
  - !ruby/object:Gem::Dependency
350
390
  name: graphql
351
391
  requirement: !ruby/object:Gem::Requirement
@@ -415,39 +455,39 @@ dependencies:
415
455
  - !ruby/object:Gem::Version
416
456
  version: '2.4'
417
457
  - !ruby/object:Gem::Dependency
418
- name: rubocop
458
+ name: graphiql-rails
419
459
  requirement: !ruby/object:Gem::Requirement
420
460
  requirements:
461
+ - - "<"
462
+ - !ruby/object:Gem::Version
463
+ version: '2'
421
464
  - - ">="
422
465
  - !ruby/object:Gem::Version
423
- version: '0'
466
+ version: '1.4'
424
467
  type: :development
425
468
  prerelease: false
426
469
  version_requirements: !ruby/object:Gem::Requirement
427
470
  requirements:
471
+ - - "<"
472
+ - !ruby/object:Gem::Version
473
+ version: '2'
428
474
  - - ">="
429
475
  - !ruby/object:Gem::Version
430
- version: '0'
476
+ version: '1.4'
431
477
  - !ruby/object:Gem::Dependency
432
- name: graphiql-rails
478
+ name: rubocop
433
479
  requirement: !ruby/object:Gem::Requirement
434
480
  requirements:
435
- - - "<"
436
- - !ruby/object:Gem::Version
437
- version: '2'
438
481
  - - ">="
439
482
  - !ruby/object:Gem::Version
440
- version: '1.4'
483
+ version: '0'
441
484
  type: :development
442
485
  prerelease: false
443
486
  version_requirements: !ruby/object:Gem::Requirement
444
487
  requirements:
445
- - - "<"
446
- - !ruby/object:Gem::Version
447
- version: '2'
448
488
  - - ">="
449
489
  - !ruby/object:Gem::Version
450
- version: '1.4'
490
+ version: '0'
451
491
  - !ruby/object:Gem::Dependency
452
492
  name: bootstrap-sass
453
493
  requirement: !ruby/object:Gem::Requirement
@@ -504,6 +544,20 @@ dependencies:
504
544
  - - "~>"
505
545
  - !ruby/object:Gem::Version
506
546
  version: '1.4'
547
+ - !ruby/object:Gem::Dependency
548
+ name: high_voltage
549
+ requirement: !ruby/object:Gem::Requirement
550
+ requirements:
551
+ - - "~>"
552
+ - !ruby/object:Gem::Version
553
+ version: '3'
554
+ type: :development
555
+ prerelease: false
556
+ version_requirements: !ruby/object:Gem::Requirement
557
+ requirements:
558
+ - - "~>"
559
+ - !ruby/object:Gem::Version
560
+ version: '3'
507
561
  - !ruby/object:Gem::Dependency
508
562
  name: rspec-its
509
563
  requirement: !ruby/object:Gem::Requirement
@@ -566,24 +620,9 @@ dependencies:
566
620
  - - "~>"
567
621
  - !ruby/object:Gem::Version
568
622
  version: '1.3'
569
- - !ruby/object:Gem::Dependency
570
- name: high_voltage
571
- requirement: !ruby/object:Gem::Requirement
572
- requirements:
573
- - - "~>"
574
- - !ruby/object:Gem::Version
575
- version: '3'
576
- type: :development
577
- prerelease: false
578
- version_requirements: !ruby/object:Gem::Requirement
579
- requirements:
580
- - - "~>"
581
- - !ruby/object:Gem::Version
582
- version: '3'
583
623
  description:
584
624
  email: karen.e.lundgren@gmail.com
585
- executables:
586
- - rails
625
+ executables: []
587
626
  extensions: []
588
627
  extra_rdoc_files:
589
628
  - LICENSE.txt
@@ -620,14 +659,11 @@ files:
620
659
  - app/graphql/types/event_occurrence_type.rb
621
660
  - app/graphql/types/event_type.rb
622
661
  - app/graphql/types/mutation_type.rb
623
- - app/graphql/types/profile_type.rb
624
662
  - app/graphql/types/query_type.rb
625
663
  - app/helpers/date_book/application_helper.rb
626
- - app/helpers/date_book/calendar_helper.rb
627
664
  - app/helpers/date_book/events_helper.rb
628
665
  - app/jobs/date_book/application_job.rb
629
666
  - app/mailers/date_book/application_mailer.rb
630
- - app/views/date_book/application/_all_day_checkbox.html.haml
631
667
  - app/views/date_book/application/_date_range.html.haml
632
668
  - app/views/date_book/application/_wysiwyg.html.haml
633
669
  - app/views/date_book/calendars/_form.html.haml
@@ -655,7 +691,6 @@ files:
655
691
  - app/views/date_book/events/show.html.haml
656
692
  - app/views/layouts/_date_book_scripts.html.haml
657
693
  - app/views/layouts/blank.html.haml
658
- - bin/rails
659
694
  - config/locales/en.yml
660
695
  - config/routes.rb
661
696
  - date_book.gemspec
@@ -747,20 +782,22 @@ files:
747
782
  - spec/dummy/config/routes.rb
748
783
  - spec/dummy/config/secrets.yml
749
784
  - spec/dummy/config/spring.rb
785
+ - spec/dummy/db/development.sqlite3
750
786
  - spec/dummy/db/migrate/20170728171103_create_users_table.rb
751
787
  - spec/dummy/db/migrate/20170807134122_add_devise_to_users.rb
752
788
  - spec/dummy/db/migrate/20170807134128_rolify_create_roles.rb
753
- - spec/dummy/db/migrate/20170808150915_create_calendars.date_book.rb
754
- - spec/dummy/db/migrate/20170808150916_create_events.date_book.rb
755
- - spec/dummy/db/migrate/20170808150917_create_schedules.date_book.rb
756
- - spec/dummy/db/migrate/20170808150918_add_fields_to_schedule.date_book.rb
757
- - spec/dummy/db/migrate/20170808150919_create_event_occurrences.date_book.rb
758
- - spec/dummy/db/migrate/20170808150920_add_fields_to_event_occurrences.date_book.rb
789
+ - spec/dummy/db/migrate/20170808200808_create_calendars.date_book.rb
790
+ - spec/dummy/db/migrate/20170808200809_create_events.date_book.rb
791
+ - spec/dummy/db/migrate/20170808200810_create_schedules.date_book.rb
792
+ - spec/dummy/db/migrate/20170808200811_add_fields_to_schedule.date_book.rb
793
+ - spec/dummy/db/migrate/20170808200812_create_event_occurrences.date_book.rb
794
+ - spec/dummy/db/migrate/20170808200813_add_fields_to_event_occurrences.date_book.rb
759
795
  - spec/dummy/db/schema.rb
760
796
  - spec/dummy/db/seeds.rb
761
797
  - spec/dummy/db/seeds/calendars.seeds.rb
762
798
  - spec/dummy/db/seeds/events.seeds.rb
763
799
  - spec/dummy/db/seeds/users.seeds.rb
800
+ - spec/dummy/db/test.sqlite3
764
801
  - spec/dummy/lib/assets/.keep
765
802
  - spec/dummy/lib/basic_benchmark.rb
766
803
  - spec/dummy/log/.keep
@@ -770,13 +807,13 @@ files:
770
807
  - spec/factories/users.rb
771
808
  - spec/features/calendars_spec.rb
772
809
  - spec/features/events_spec.rb
773
- - spec/helpers/date_book/calendar_helper_spec.rb
810
+ - spec/helpers/date_book/application_helper_spec.rb
774
811
  - spec/helpers/date_book/events_helper_spec.rb
775
812
  - spec/models/calendar_spec.rb
776
813
  - spec/models/event_spec.rb
777
814
  - spec/models/role_spec.rb
778
815
  - spec/rails_helper.rb
779
- - spec/requests/date_book/events_spec.rb
816
+ - spec/requests/date_book/api_spec.rb
780
817
  - spec/routing/date_book/calendars_routing_spec.rb
781
818
  - spec/routing/date_book/events_routing_spec.rb
782
819
  - spec/spec_helper.rb
@@ -1,7 +0,0 @@
1
- Types::ProfileType = GraphQL::ObjectType.define do
2
- name "Profile"
3
- field :id, types.ID
4
- field :name, types.String
5
- field :email, types.String
6
- field :calendars, types[Types::CalendarType]
7
- end
@@ -1,4 +0,0 @@
1
- module DateBook
2
- module CalendarHelper
3
- end
4
- end
@@ -1 +0,0 @@
1
- = schedule.check_box :all_day, inline: true, class: 'all-day'
data/bin/rails DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- # This command will automatically be run when you run "rails" with Rails gems
5
- # installed from the root of your application.
6
-
7
- ENGINE_ROOT = File.expand_path('../..', __FILE__)
8
- ENGINE_PATH = File.expand_path('../../lib/date_book/engine', __FILE__)
9
-
10
- # Set up gems listed in the Gemfile.
11
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
12
- require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
13
-
14
- require 'rails/all'
15
- require 'rails/engine/commands'
@@ -1,17 +0,0 @@
1
- require 'rails_helper'
2
-
3
- # Specs in this file have access to a helper object that includes
4
- # the CalendarHelper. For example:
5
- #
6
- # describe CalendarHelper do
7
- # describe "string concat" do
8
- # it "concats two strings with spaces" do
9
- # expect(helper.concat_strings("this","that")).to eq("this that")
10
- # end
11
- # end
12
- # end
13
- module DateBook
14
- RSpec.describe CalendarHelper, folder: :helpers do
15
- pending "add some examples to (or delete) #{__FILE__}"
16
- end
17
- end
@@ -1,56 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe 'Events Requests', folder: :requests do
4
- include_context 'loaded site'
5
-
6
- let(:valid_attributes) do
7
- { event: { name: 'Test Event', schedule_attributes: { date: Date.today, time: Time.zone.now } } }
8
- end
9
-
10
- let(:invalid_attributes) do
11
- { event: { name: nil } }
12
- end
13
-
14
- pending 'Browsing Events' do
15
- describe 'at /date_book/events' do
16
- describe 'without a query' do
17
- before do
18
- get '/date_book/events.json'
19
- end
20
- it_behaves_like(
21
- 'a json object listing a collection of items',
22
- Event,
23
- minimum: 2
24
- )
25
- end
26
- describe 'with a query' do
27
- before do
28
- get(
29
- '/date_book/events.json',
30
- params: {
31
- start: Date.today
32
- }
33
- )
34
- end
35
- it_behaves_like(
36
- 'a json object listing a collection of items',
37
- Event,
38
- minimum: 1
39
- )
40
- end
41
- end
42
- end
43
-
44
- pending 'Showing Events' do
45
- describe 'at /date_book/events/monday' do
46
- before do
47
- get '/date_book/events/monday.json'
48
- end
49
- it_behaves_like(
50
- 'a json object showing an item',
51
- Event,
52
- 'Monday'
53
- )
54
- end
55
- end
56
- end