almanack 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.gitignore +12 -17
  4. data/.rspec +3 -0
  5. data/.travis.yml +2 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +1 -1
  8. data/Gemfile.lock +123 -0
  9. data/LICENSE.txt +17 -18
  10. data/README.md +22 -4
  11. data/Rakefile +16 -0
  12. data/almanack.gemspec +18 -8
  13. data/bin/console +14 -0
  14. data/bin/setup +8 -0
  15. data/bin/test +2 -0
  16. data/certs/aupajo.pem +25 -0
  17. data/{bin → exe}/almanack +0 -0
  18. data/lib/almanack/version.rb +1 -1
  19. data.tar.gz.sig +0 -0
  20. metadata +62 -59
  21. metadata.gz.sig +3 -0
  22. data/spec/almanack_spec.rb +0 -8
  23. data/spec/calendar_spec.rb +0 -71
  24. data/spec/configuration_spec.rb +0 -113
  25. data/spec/event_source/ical_feed_spec.rb +0 -40
  26. data/spec/event_source/meetup_group_spec.rb +0 -63
  27. data/spec/event_source/static_spec.rb +0 -41
  28. data/spec/event_spec.rb +0 -121
  29. data/spec/features/api_feature_spec.rb +0 -24
  30. data/spec/features/calendar_feature_spec.rb +0 -44
  31. data/spec/features/sass_features_spec.rb +0 -15
  32. data/spec/features/subscription_feature_spec.rb +0 -60
  33. data/spec/fixtures/responses/google_calendar.yml +0 -1896
  34. data/spec/fixtures/responses/meetup-without-location.yml +0 -11880
  35. data/spec/fixtures/responses/meetup.yml +0 -1437
  36. data/spec/fixtures/themes/sassy/stylesheets/imported.scss +0 -0
  37. data/spec/fixtures/themes/sassy/stylesheets/imports.scss +0 -1
  38. data/spec/representation/json_feed_spec.rb +0 -44
  39. data/spec/serialized_transformation_spec.rb +0 -45
  40. data/spec/spec_helper.rb +0 -21
  41. data/spec/support/event_matchers.rb +0 -54
  42. data/spec/support/server_support.rb +0 -10
  43. data/spec/support/time_comparison_matchers.rb +0 -14
File without changes
@@ -1 +0,0 @@
1
- @import 'imported';
@@ -1,44 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Almanack::Representation
4
- describe JSONFeed do
5
-
6
- let(:calendar) { Almanack.calendar }
7
- let(:parsed_json) { JSON.parse JSONFeed.from(calendar).to_s }
8
-
9
- before do
10
- Almanack.reset!
11
- end
12
-
13
- describe ".from" do
14
- around do |test|
15
- Timecop.freeze(Time.now, &test)
16
- end
17
-
18
- it "returns empty event sources by default" do
19
- expect(parsed_json).to eq({ "eventSources" => [] })
20
- end
21
-
22
- it "returns event sources" do
23
- Almanack.config.add_events [
24
- { title: "Basic event", start_time: Time.now, custom_data: 'present' }
25
- ]
26
-
27
- expect(parsed_json).to eq({
28
- "eventSources" => [
29
- {
30
- "events" => [
31
- {
32
- "title" => "Basic event",
33
- "startTime" => Time.now.iso8601,
34
- "customData" => 'present'
35
- }
36
- ]
37
- }
38
- ]
39
- })
40
- end
41
- end
42
-
43
- end
44
- end
@@ -1,45 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Almanack
4
- describe SerializedTransformation do
5
- let(:fact_book) do
6
- {
7
- title: "Facts of the World",
8
- countries: [
9
- { name: "New Zealand", population: "4 mil" },
10
- { name: "America", population: "320 mil" }
11
- ]
12
- }
13
- end
14
-
15
- let(:transformation) { described_class.new(fact_book) }
16
-
17
- describe "#apply" do
18
- it "returns an unmodified structure by default" do
19
- expect(transformation.apply).to eq fact_book
20
- end
21
-
22
- it "can apply changes to keys" do
23
- transformation.key { |key| key.to_s }
24
- expect(transformation.apply).to eq({
25
- "title" => "Facts of the World",
26
- "countries" => [
27
- { "name" => "New Zealand", "population" => "4 mil" },
28
- { "name" => "America", "population" => "320 mil" }
29
- ]
30
- })
31
- end
32
-
33
- it "can apply changes to values" do
34
- transformation.value { |value| value.upcase }
35
- expect(transformation.apply).to eq({
36
- title: "FACTS OF THE WORLD",
37
- countries: [
38
- { name: "NEW ZEALAND", population: "4 MIL" },
39
- { name: "AMERICA", population: "320 MIL" }
40
- ]
41
- })
42
- end
43
- end
44
- end
45
- end
data/spec/spec_helper.rb DELETED
@@ -1,21 +0,0 @@
1
- require 'webmock/rspec'
2
- require 'vcr'
3
- require 'timecop'
4
- require 'nokogiri'
5
-
6
- require 'almanack'
7
-
8
- Dir[File.expand_path('../support/*.rb', __FILE__)].each { |file| require file }
9
-
10
- RSpec.configure do |config|
11
- config.include ServerSupport, :feature
12
- config.include EventMatchers
13
- config.include TimeComparisonMatchers
14
- end
15
-
16
- VCR.configure do |config|
17
- config.cassette_library_dir = File.expand_path('../fixtures/responses', __FILE__)
18
- config.hook_into :webmock
19
- end
20
-
21
- WebMock.disable_net_connect!
@@ -1,54 +0,0 @@
1
- module EventMatchers
2
- extend RSpec::Matchers::DSL
3
-
4
- matcher :have_event do |title = nil, attrs = {}|
5
- match do |events|
6
- attrs[:title] = title if title
7
-
8
- events.any? do |event|
9
- attrs.all? { |k,v| event.send(k) == v }
10
- end
11
- end
12
-
13
- failure_message do |events|
14
- "expected to see an event with #{attrs.inspect}, saw #{events.inspect}"
15
- end
16
- end
17
-
18
- matcher :all_have_properties do |*properties|
19
- match do |collection|
20
- collection.all? do |obj|
21
- properties.all? { |p| !obj.send(p).nil? }
22
- end
23
- end
24
-
25
- failure_message do |events|
26
- "expected to all events to have properites #{properties.inspect}"
27
- end
28
- end
29
-
30
- matcher :be_in_order do
31
- match do |events|
32
- events == events.sort_by(&:start_time)
33
- end
34
-
35
- failure_message do |events|
36
- "expected to events to be in order"
37
- end
38
- end
39
-
40
- matcher :have_event_on_page do |title|
41
- match do |response|
42
- raise response.errors if !response.errors.empty?
43
-
44
- doc = Nokogiri::HTML(response.body)
45
-
46
- @titles = doc.css('.event .title').map { |e| e.text.strip }
47
- @titles.any? { |t| t == title.strip }
48
- end
49
-
50
- failure_message do |response|
51
- "expected to see an event named #{title.inspect}, got #@titles"
52
- end
53
- end
54
- end
@@ -1,10 +0,0 @@
1
- require 'rack/test'
2
- require 'almanack/server'
3
-
4
- module ServerSupport
5
- include Rack::Test::Methods
6
-
7
- def app
8
- Almanack::Server
9
- end
10
- end
@@ -1,14 +0,0 @@
1
- module TimeComparisonMatchers
2
- extend RSpec::Matchers::DSL
3
-
4
- matcher :eq_time do |expected_time|
5
- match do |actual_time|
6
- actual_time.to_time.to_i == expected_time.to_time.to_i
7
- end
8
-
9
- failure_message do |actual_time|
10
- "expected #{actual_time.to_time} to be equal in time to #{expected_time.to_time}"
11
- end
12
- end
13
-
14
- end