Module: Clerk::Utils
- Defined in:
- lib/clerk/utils.rb
Class Method Summary collapse
- .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
.decode_publishable_key(publishable_key) ⇒ Object
8 9 10 |
# File 'lib/clerk/utils.rb', line 8 def decode_publishable_key(publishable_key) Base64.decode64(publishable_key.split("_")[2].to_s) end |
.filter_routes(routes) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/clerk/utils.rb', line 12 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
31 32 33 |
# File 'lib/clerk/utils.rb', line 31 def retrieve_from_query_string(url, key) ::Rack::Utils.parse_query(url.query)[key] end |
.valid_publishable_key?(publishable_key) ⇒ Boolean
35 36 37 38 39 40 |
# File 'lib/clerk/utils.rb', line 35 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
42 43 44 |
# File 'lib/clerk/utils.rb', line 42 def valid_publishable_key_postfix?(publishable_key) decode_publishable_key(publishable_key).end_with?("$") end |
.valid_publishable_key_prefix?(publishable_key) ⇒ Boolean
46 47 48 |
# File 'lib/clerk/utils.rb', line 46 def valid_publishable_key_prefix?(publishable_key) publishable_key.start_with?("pk_live_", "pk_test_") end |