lib/azure/service_bus/resource.rb in azure-0.6.0 vs lib/azure/service_bus/resource.rb in azure-0.6.1

- old
+ new

@@ -1,109 +1,109 @@ -#------------------------------------------------------------------------- -# # Copyright (c) Microsoft and contributors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -#-------------------------------------------------------------------------- -require 'azure/service_bus/resource' -require 'azure/service_bus/interval' - -module Azure - module ServiceBus - class Resource - # Public: Initialize the resource (either queue, topic, rule or subscription). - # - # name - A String with the name of the resource. - # description - The resource description Hash - def initialize(name, description = {}) - @name = name - @description = description - yield self if block_given? - end - - # Get the Resource's ID. - # - # Returns a URI. - attr_accessor :id - alias_method :url, :id - - # Get the Resource's name. - # - # Returns a String. - attr_accessor :name - alias_method :title, :name - - # Public: Get the published time - # - # Returns a Time - attr_accessor :published - - # Public: Get the updated time - # - # Returns a Time - attr_accessor :updated - - # Public: Get the author name - # - # Returns a String - attr_accessor :author_name - - # Public: Resource description - # - # Returns a Hash - attr_accessor :description - - def get_props - desc = description.dup - props = [] - ordered_props.each { |prop_name| - if desc[prop_name] - props.push [prop_name, desc[prop_name]] - desc.delete prop_name - end - } - desc.each { |k,v| - props.push [k, v] - } - props - end - - private - - def to_interval(s) - s ? Interval.parse(s) : s - end - - def to_time(s) - s ? Time.parse(s) : s - end - - def to_i(s) - s ? s.to_i : s - end - - def to_bool(s) - s ? (s || "").downcase == 'true' : s - end - - def _set(name, value) - if value - description[name] = value.to_s - else - description.delete name - end - end - - def ordered_props - [] - end - end - end +#------------------------------------------------------------------------- +# # Copyright (c) Microsoft and contributors. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#-------------------------------------------------------------------------- +require 'azure/service_bus/resource' +require 'azure/service_bus/interval' + +module Azure + module ServiceBus + class Resource + # Public: Initialize the resource (either queue, topic, rule or subscription). + # + # name - A String with the name of the resource. + # description - The resource description Hash + def initialize(name, description = {}) + @name = name + @description = description + yield self if block_given? + end + + # Get the Resource's ID. + # + # Returns a URI. + attr_accessor :id + alias_method :url, :id + + # Get the Resource's name. + # + # Returns a String. + attr_accessor :name + alias_method :title, :name + + # Public: Get the published time + # + # Returns a Time + attr_accessor :published + + # Public: Get the updated time + # + # Returns a Time + attr_accessor :updated + + # Public: Get the author name + # + # Returns a String + attr_accessor :author_name + + # Public: Resource description + # + # Returns a Hash + attr_accessor :description + + def get_props + desc = description.dup + props = [] + ordered_props.each { |prop_name| + if desc[prop_name] + props.push [prop_name, desc[prop_name]] + desc.delete prop_name + end + } + desc.each { |k,v| + props.push [k, v] + } + props + end + + private + + def to_interval(s) + s ? Interval.parse(s) : s + end + + def to_time(s) + s ? Time.parse(s) : s + end + + def to_i(s) + s ? s.to_i : s + end + + def to_bool(s) + s ? (s || "").downcase == 'true' : s + end + + def _set(name, value) + if value + description[name] = value.to_s + else + description.delete name + end + end + + def ordered_props + [] + end + end + end end \ No newline at end of file