Guest User

Untitled

a guest
Jul 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. def parse_var(var)
  2. value = instance_variable_get(var)
  3. puts(value)
  4. puts(value.to_s)
  5. value.is_a?(Numeric) ? value.to_s : ""#{value}""
  6. end
  7.  
  8. require 'securerandom'
  9.  
  10. # Entity.rb
  11. class Entity
  12. def initialize
  13. generate_uuid
  14. end
  15.  
  16. def to_cypher
  17. first_char = self.class.name.chr.downcase
  18. "MERGE (#{first_char}:#{self.class.name} {#{attrs_to_cypher.join(', ')}}) RETURN #{first_char};"
  19. end
  20.  
  21. protected
  22.  
  23. def rand_bool
  24. [true, false].sample
  25. end
  26.  
  27. private
  28.  
  29. def attrs_to_cypher
  30. self.instance_variables.map do |var|
  31. "#{camelize(var.to_s[1..-1])}:#{parse_var(var)}"
  32. end
  33. end
  34.  
  35. def generate_uuid
  36. @uuid = SecureRandom.uuid
  37. end
  38.  
  39. def parse_var(var)
  40. value = instance_variable_get(var)
  41. puts(value)
  42. puts(value.to_s)
  43. value.is_a?(Numeric) ? value.to_s : ""#{value}""
  44. end
  45.  
  46. def camelize(s)
  47. (s == "uuid") ? "UUID" : s.downcase.split('_').map(&:capitalize).join
  48. end
  49. end
  50.  
  51. require 'faker'
  52. require_relative 'Entity'
  53.  
  54. # PhoneNumber.rb
  55. class PhoneNumber < Entity
  56. def initialize(**opts)
  57. super()
  58. @type = opts[:type] || rand_bool ? "cell" : "home"
  59. @number = opts[:number] || @type == "cell" ? Faker::PhoneNumber.cell_phone : Faker::PhoneNumber.phone_number,
  60. @country_code = opts[:country_code] || nil
  61. @area_code = opts[:area_code] || nil
  62. end
  63. end
  64.  
  65. puts ["(684) 029-6183 x01024", nil]
  66. #⇒ (684) 029-6183 x01024
  67. #
  68.  
  69. value = [*value].compact.join
  70.  
  71. @number = opts[:number] || @type == "cell" ? Faker::PhoneNumber.cell_phone : Faker::PhoneNumber.phone_number,
  72.  
  73. @number = (opts[:number] || @type == "cell") ? Faker::PhoneNumber.cell_phone : Faker::PhoneNumber.phone_number,
  74.  
  75. @number = opts[:number] || (@type == "cell" ? Faker::PhoneNumber.cell_phone : Faker::PhoneNumber.phone_number),
  76.  
  77. opts = { number: '123' }
  78. type = "cell"
  79. number = opts[:number] || type == "cell" ? "truthy" : "falsey",
  80. country = "some value"
  81.  
  82. p number # => ["truthy", "some value"]
  83. p country # => "some value"
Add Comment
Please, Sign In to add comment