durian 0.1.0.2 → 0.1.0.3

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDYxNzkzMDY5NzllNmE0YjI2MGEwNzUxMmE4MmIwODI3ZDlkNjdiZQ==
4
+ NzAwY2VjNDdjNzg0NmU5NDgxNzk1ZjU4MzAzNGQxNzlhYjc3Mjk4Yw==
5
5
  data.tar.gz: !binary |-
6
- NDQ1NmM4OWMwZGI1OTJiNzlkNGMyMDhlM2RiMzI0NTNlZjg3OTQ1Zg==
6
+ NDUyZjhhYjUyMzA1NDY0MmQ1YjhiZjZkYzY0ZjQ1OTBmZmY1YzhmMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MDM3NWJiMTIwZTVkYTYxZTJjYWJkM2JkMWE2NWNiZTFlNTgyYzMxZGFiOTRk
10
- YjAwNDQzNjIzZmY1YjQyMDI2ODE2N2U2ZjA2MDY0MjA1MzA0ZDViZWFlZmE0
11
- MmQyM2ZiMjM4ODQ1ZmM0MTRiNTFlZjg3NzY3MzM0Njc4OTg1M2U=
9
+ MjE0ZTJiMjNiMTM1ZmVhZjBjMzUxYjNiYWM2OTM4MzlkYTRjNjU1ODcxNzZm
10
+ MzUwYWFmYWI1NGQ5MWJhMTMwMDliOThmZmQ0ODUxZTM3MTIzYTNhMTNhOGNk
11
+ ZThiOGI3OTJmMjA0NzFjMGZhZTAxNjI2OGNkMTRhODNmZmZjYjU=
12
12
  data.tar.gz: !binary |-
13
- NzM1NzRjNDI0YWM1NTQ0MjcwNDc3NjBiMGZkYzFlNWZlMzllODc4OWViMmY3
14
- MmRmZWJhN2ExNzgzYjVkYzJiODZiYjUxOWFmNDhkNmNhYjVlZTE2MDNjODRl
15
- ZjQ5MTA4MDlhYzdmMTcxOTM2YWI2NWIxM2FmNjk3NWM4ZjQ0OGY=
13
+ NzQyMjA1MDNiZDRiZTQ2OTgyOTRiNDA0NTlkNDI5MzU5NWZiMTlkZTFkMzFj
14
+ OGI4ZDlkN2Q2YmFhNzU0NTA1ODMyZTMwY2E3NDZhNjM4NGE2ZmZjMzI0MjFh
15
+ N2RiYWQ5NDdjNzU2ZjE3YmU4ZDg1NDM2MjQ4ODA0ZTdmZTVlZDk=
@@ -0,0 +1,27 @@
1
+ module Common
2
+
3
+ def self.included(base)
4
+ base.extend(Inheritables)
5
+ end
6
+
7
+ module Inheritables
8
+ def inheritable_attributes(*args)
9
+ @attributes ||= [:attributes]
10
+ @attributes += args
11
+ args.each do |arg|
12
+ class_eval %(
13
+ class << self; attr_accessor :#{arg} end
14
+ )
15
+ end
16
+ @attributes
17
+ end
18
+
19
+
20
+ def inherited(base)
21
+ @attributes.each do |attr|
22
+ instance_var = "@#{attr}"
23
+ base.instance_variable_set(instance_var, instance_variable_get(instance_var))
24
+ end
25
+ end
26
+ end
27
+ end
data/lib/durian/page.rb CHANGED
@@ -1,7 +1,9 @@
1
+ require 'common'
2
+
1
3
  module Durian
2
4
  class Page
3
- # The url(can be relative) of the page
4
- attr_accessor :location
5
+ include Common
6
+ inheritable_attributes :location
5
7
  alias_method :located_at, :location=
6
8
 
7
9
  # Allows Page Object class's to inherit from Durian::Page class
@@ -15,8 +17,8 @@ module Durian
15
17
  end
16
18
 
17
19
  def for(name)
18
- class_name = "#{name}_page".gsub(' ', '_').classify
19
- class_name.constantize rescue raise "Could not find page #{class_name}"
20
+ page = "#{name}Page".classify
21
+ page.constantize rescue raise "Could not find page #{page}"
20
22
  end
21
23
  end
22
24
  end
@@ -1,3 +1,3 @@
1
1
  module Durian
2
- VERSION = "0.1.0.2"
2
+ VERSION = "0.1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: durian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.2
4
+ version: 0.1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Kane
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-07 00:00:00.000000000 Z
11
+ date: 2015-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -88,6 +88,7 @@ files:
88
88
  - durian-0.1.0.gem
89
89
  - durian.gemspec
90
90
  - lib/durian.rb
91
+ - lib/durian/common.rb
91
92
  - lib/durian/page.rb
92
93
  - lib/durian/version.rb
93
94
  homepage: https://github.com/tswbyaj/durian.git