vrbo 1.0.0 → 1.1.0

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: 1e270cf50db857e13ff31144a26c6709004f5b37
4
- data.tar.gz: 44946d1a06927d2851b466cd3778f7e496aab390
3
+ metadata.gz: 1e7a1740a7b58843bfc500c961fc306a65062547
4
+ data.tar.gz: fb2f0f9d024bd079b6e70105c84d304eff56737a
5
5
  SHA512:
6
- metadata.gz: 7d98e6ebcf1b27439114ac95d14ddc4f314245e07d148fbb5fe3ae2feb1c3c45eb827ed68b8cc12b3c380b38fae1e3b9d7c52120ba9f1b0a1eb50c3be511bba9
7
- data.tar.gz: 24c8e72c6b2fbf8d34e408ec7bcba8aafbf22fef76b0d81cc5adce8177cb065c75b185dd86aed184b205fdd7893550cb0d18bddcfaf5509adf6884ed238344d4
6
+ metadata.gz: ef04241e73ebb3c63bd1ce2010317a5842d83c33d69a1ff619ac244a5b2bf7a9d79d933bc2e5ba5b6ec27876c1a99641e5426a1de0a2f6f3187886d12d749d97
7
+ data.tar.gz: b57dba1d7a5c60a32a62f591ce33a6c3536849dbc49cc556cec460031649075cf65fc0a2ed9b49de653f914c92e11f3bce3dc7ea6e7564ee4d359f79b1bd6c30
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ hana_cottage
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-2.0.0
@@ -1,21 +1,20 @@
1
1
  module VRBO
2
2
  class Availability
3
3
 
4
- attr_accessor :start_at, :duration, :error, :dates
4
+ attr_reader :start_at, :dates
5
5
 
6
- # assumes dates are in ascending order
7
- def initialize(the_dates = nil)
8
- @dates = the_dates || []
9
- if dates.any?
10
- @start_at = Date.parse(dates.shift)
6
+ # @param [Array] dates list of date strings
7
+ def initialize(dates = nil)
8
+ @dates = Array(dates)
9
+ if @dates.any?
10
+ @start_at = Date.parse(@dates.shift)
11
11
  else
12
12
  @start_at = Date.today
13
- @error = 'Maybe... But likely there was an error.'
14
13
  end
15
- @duration = count_continuous_dates
16
14
  end
17
15
 
18
- def count_continuous_dates
16
+ # @note assumes @dates are in ascending order
17
+ def duration
19
18
  i = -1
20
19
  count = 1
21
20
  dates.each do |the_date|
data/lib/vrbo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module VRBO
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
@@ -1,12 +1,5 @@
1
1
  module CalendarDates
2
2
 
3
- module Stubs
4
- def collect_days_for_month(date)
5
- dates = date.upto(date.next_month).to_a
6
- dates.map(&:day).map(&:to_s).take(3)
7
- end
8
- end
9
-
10
3
  def available?(list, a = today, b = tomorrow)
11
4
  vrbo_calendar.available?(a, b, list)
12
5
  end
@@ -40,6 +33,15 @@ module CalendarDates
40
33
  end
41
34
 
42
35
  def vrbo_calendar
43
- @vrbo_calendar ||= VRBO::Calendar.prepend(Stubs).new
36
+ @vrbo_calendar ||= begin
37
+ calendar = VRBO::Calendar.new
38
+
39
+ def calendar.collect_days_for_month(date)
40
+ dates = date.upto(date.next_month).to_a
41
+ dates.map(&:day).map(&:to_s).take(3)
42
+ end
43
+
44
+ calendar
45
+ end
44
46
  end
45
47
  end
@@ -10,14 +10,12 @@ class AvailabilityTest < MiniTest::Unit::TestCase
10
10
  availability = VRBO::Availability.new(all << (tomorrow + 2).to_s)
11
11
  assert_equal today, availability.start_at
12
12
  assert_equal 2, availability.duration
13
- assert_nil availability.error
14
13
  end
15
14
 
16
15
  def test_new_without_params
17
16
  availability = VRBO::Availability.new
18
17
  assert_equal today, availability.start_at
19
18
  assert_equal 1, availability.duration
20
- assert_includes availability.error, 'error'
21
19
  end
22
20
 
23
21
  end
@@ -39,11 +39,10 @@ class CalendarTest < MiniTest::Unit::TestCase
39
39
  end
40
40
 
41
41
  def test_find_all_available_dates
42
- # 3 days taken for each month (36) + 1 day padding
43
- assert_equal 37, vrbo_calendar.find_available_dates.length
42
+ # 3 days taken for each month (36)
43
+ assert_equal 36, vrbo_calendar.find_available_dates.length
44
+ assert_equal 12, vrbo_calendar.days.length
44
45
  assert_equal today.to_s, vrbo_calendar.available_dates.first
45
- assert_equal (today + 365).to_s, vrbo_calendar.available_dates.last
46
- assert_equal vrbo_calendar.days.length, 12
47
46
  end
48
47
 
49
48
  def test_passing_calendar_id
data/vrbo.gemspec CHANGED
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "mechanize", '~> 2.5.1'
22
- spec.add_runtime_dependency "mime-types", '~> 1.23'
21
+ spec.add_runtime_dependency "mechanize", '~> 2.7'
22
+ spec.add_runtime_dependency "mime-types", '~> 2.5'
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.3"
25
25
  spec.add_development_dependency "rake"
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vrbo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Buckley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-17 00:00:00.000000000 Z
11
+ date: 2015-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mechanize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 2.5.1
19
+ version: '2.7'
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: 2.5.1
26
+ version: '2.7'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mime-types
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '1.23'
33
+ version: '2.5'
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: '1.23'
40
+ version: '2.5'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: Scrapes a VRBO calendar using Mechanize and returns available dates
@@ -73,7 +73,9 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - ".gitignore"
76
+ - .gitignore
77
+ - .ruby-gemset
78
+ - .ruby-version
77
79
  - Gemfile
78
80
  - LICENSE.txt
79
81
  - README.md
@@ -98,17 +100,17 @@ require_paths:
98
100
  - lib
99
101
  required_ruby_version: !ruby/object:Gem::Requirement
100
102
  requirements:
101
- - - ">="
103
+ - - '>='
102
104
  - !ruby/object:Gem::Version
103
105
  version: '0'
104
106
  required_rubygems_version: !ruby/object:Gem::Requirement
105
107
  requirements:
106
- - - ">="
108
+ - - '>='
107
109
  - !ruby/object:Gem::Version
108
110
  version: '0'
109
111
  requirements: []
110
112
  rubyforge_project:
111
- rubygems_version: 2.1.11
113
+ rubygems_version: 2.4.6
112
114
  signing_key:
113
115
  specification_version: 4
114
116
  summary: Scrapes a VRBO calendar using Mechanize