Cross Reference: hets_options.rb
xref
: /
ontohub
/
lib
/
hets
/
hets_options.rb
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
hets_options.rb revision 8963b7210183205addea9207b1fbda4696316675
5f5870385cff47efd2f58e7892f251cf13761528
Timo Sirainen
module
Hets
657afb33796f8216c568ad813627da89970760be
Timo Sirainen
class
HetsOptions
08d6658a4e2ec8104cd1307f6baa75fdb07a24f8
Mark Washenberger
attr_reader
:
options
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
a550b0fbcf7e876eeb88f4528209ed28cc416752
Timo Sirainen
def
self.from
_hash
(
hash
)
2872c818f9c6704609f4d67d984b033a63e3a108
Timo Sirainen
new
(
hash
[
'options'
])
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
end
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
def
initialize
(
opts
= {})
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
@
options
=
opts.dup
d99107ddf4d9bccb710994482daf65276a9d6321
Timo Sirainen
prepare
e76073ebaf90fa29abfdc364873acf78983949aa
Timo Sirainen
end
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
ecb1b2d6236942bf82f822e8d0167f0e160b206d
Timo Sirainen
def
add
(**
opts
)
657afb33796f8216c568ad813627da89970760be
Timo Sirainen
@
options.merge
!
(
opts.dup
)
657afb33796f8216c568ad813627da89970760be
Timo Sirainen
prepare
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
end
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
a3b3e5b452be15049a1f8bfd5b3bb640af41121c
Timo Sirainen
def
merge
!
(
hets_options
)
2872c818f9c6704609f4d67d984b033a63e3a108
Timo Sirainen
add
(
hets_options.options
)
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
end
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
protected
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
def
prepare
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
remove_nil_fields
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
prepare_url_catalog
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
end
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
def
remove_nil_fields
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
nil_valued_keys
= @
options.keys.select
{ |
key
| @
options
[
key
].
nil
? }
5363f51ad46344f4e5952f2fef211a7cf8f95ddc
Timo Sirainen
nil_valued_keys.each
{ |
key
| @
options.delete
(
key
)
}
5363f51ad46344f4e5952f2fef211a7cf8f95ddc
Timo Sirainen
end
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
def
prepare_url_catalog
2872c818f9c6704609f4d67d984b033a63e3a108
Timo Sirainen
@
options
[:
'url-catalog'
].
try
(:
compact
!)
2872c818f9c6704609f4d67d984b033a63e3a108
Timo Sirainen
if
@
options
[:
'url-catalog'
].
blank
?
66d2db642fe24d555d113ba463e446b038d476ef
Timo Sirainen
@
options.delete
(:
'url-catalog'
)
657afb33796f8216c568ad813627da89970760be
Timo Sirainen
end
2872c818f9c6704609f4d67d984b033a63e3a108
Timo Sirainen
end
2872c818f9c6704609f4d67d984b033a63e3a108
Timo Sirainen
end
59151b71059df1190acd75d8717ed04a7920c862
Timo Sirainen
end
657afb33796f8216c568ad813627da89970760be
Timo Sirainen