Module: Clerk::Utils
- Defined in:
- lib/clerk/utils.rb
Class Method Summary collapse
- .camel_case(str) ⇒ Object
- .decode_publishable_key(publishable_key) ⇒ Object
- .filter_routes(routes) ⇒ Object
- .retrieve_from_query_string(url, key) ⇒ Object
- .valid_publishable_key?(publishable_key) ⇒ Boolean
- .valid_publishable_key_postfix?(publishable_key) ⇒ Boolean
- .valid_publishable_key_prefix?(publishable_key) ⇒ Boolean
Class Method Details
.camel_case(str) ⇒ Object
8 9 10 11 12 |
# File 'lib/clerk/utils.rb', line 8 def camel_case(str) str = str.to_s return str if str !~ /_/ && str =~ /[A-Z]+.*/ str.split("_").map { |s| s.capitalize }.join end |
.decode_publishable_key(publishable_key) ⇒ Object
14 15 16 |
# File 'lib/clerk/utils.rb', line 14 def decode_publishable_key(publishable_key) Base64.decode64(publishable_key.split("_")[2].to_s) end |
.filter_routes(routes) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/clerk/utils.rb', line 18 def filter_routes(routes) filtered_routes = {} filtered_wildcard_routes = [] routes.each do |route| route = route.strip if route.end_with?("/*") filtered_wildcard_routes << route[0..-2] else filtered_routes[route] = true end end filtered_wildcard_routes.uniq! [filtered_routes, filtered_wildcard_routes] end |
.retrieve_from_query_string(url, key) ⇒ Object
37 38 39 |
# File 'lib/clerk/utils.rb', line 37 def retrieve_from_query_string(url, key) ::Rack::Utils.parse_query(url.query)[key] end |
.valid_publishable_key?(publishable_key) ⇒ Boolean
41 42 43 44 45 46 |
# File 'lib/clerk/utils.rb', line 41 def valid_publishable_key?(publishable_key) raise ArgumentError, "publishable_key must be a string" unless publishable_key.is_a?(String) key = publishable_key.to_s valid_publishable_key_prefix?(key) && valid_publishable_key_postfix?(key) end |
.valid_publishable_key_postfix?(publishable_key) ⇒ Boolean
48 49 50 |
# File 'lib/clerk/utils.rb', line 48 def valid_publishable_key_postfix?(publishable_key) decode_publishable_key(publishable_key).end_with?("$") end |
.valid_publishable_key_prefix?(publishable_key) ⇒ Boolean
52 53 54 |
# File 'lib/clerk/utils.rb', line 52 def valid_publishable_key_prefix?(publishable_key) publishable_key.start_with?("pk_live_", "pk_test_") end |