date_book 0.0.6 → 0.1.0

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