lib/ably/modules/conversions.rb in ably-0.1.4 vs lib/ably/modules/conversions.rb in ably-0.1.5

- old
+ new

@@ -1,18 +1,10 @@ module Ably::Modules module Conversions - private - # Returns object as {IdiomaticRubyWrapper} - def IdiomaticRubyWrapper(object, options = {}) - case object - when Ably::Models::IdiomaticRubyWrapper - object - else - Ably::Models::IdiomaticRubyWrapper.new(object, options) - end - end + extend self + private def as_since_epoch(time, granularity: :ms) case time when Time time.to_f * multiplier_from_granularity(granularity) when Numeric @@ -40,8 +32,37 @@ when :s # seconds 1.0 else raise ArgumentError, "invalid granularity" end + end + + # Convert key to mixedCase from mixed_case + def convert_to_mixed_case(key, force_camel: false) + key.to_s. + split('_'). + each_with_index.map do |str, index| + if index > 0 || force_camel + str.capitalize + else + str + end + end. + join + end + + # Convert key to :snake_case from snakeCase + def convert_to_snake_case_symbol(key) + key.to_s.gsub(/::/, '/'). + gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2'). + gsub(/([a-z\d])([A-Z])/,'\1_\2'). + gsub(/([a-zA-Z])(\d)/,'\1_\2'). + tr("-", "_"). + downcase. + to_sym + end + + def convert_to_lower_case(key) + key.to_s.gsub('_', '') end end end