|
module ShopifyPlan |
|
PLANS = [ |
|
{ "plan_name" => "affiliate", "plan_display_name" => "Development", "displayName" => "Development", "publicDisplayName" => "Development" }, |
|
{ "plan_name" => "basic", "plan_display_name" => "Basic", "displayName" => "Basic", "publicDisplayName" => "Basic" }, |
|
{ "plan_name" => "business", "plan_display_name" => "Business", "displayName" => "", "publicDisplayName" => "" }, |
|
{ "plan_name" => "dormant", "plan_display_name" => "Pause and Build", "displayName" => "Pause and Build", "publicDisplayName" => "Paused" }, |
|
{ "plan_name" => "npo_lite", "plan_display_name" => "NPO Lite", "displayName" => "", "publicDisplayName" => "" }, |
|
{ "plan_name" => "partner_test", "plan_display_name" => "Developer Preview", "displayName" => "Developer Preview", "publicDisplayName" => "Development" }, |
|
{ "plan_name" => "professional", "plan_display_name" => "Grow", "displayName" => "Shopify", "publicDisplayName" => "Grow" }, |
|
{ "plan_name" => "retail", "plan_display_name" => "Retail", "displayName" => "", "publicDisplayName" => "" }, |
|
{ "plan_name" => "shopify_plus", "plan_display_name" => "Shopify Plus", "displayName" => "Shopify Plus", "publicDisplayName" => "Plus" }, |
|
{ "plan_name" => "staff", "plan_display_name" => "Staff", "displayName" => "Staff", "publicDisplayName" => "Development" }, |
|
{ "plan_name" => "unlimited", "plan_display_name" => "Advanced", "displayName" => "Advanced", "publicDisplayName" => "Advanced" } |
|
].freeze |
|
|
|
VALID_COLUMNS = PLANS[0].keys |
|
|
|
# |
|
# Convert input to the Shopify plan name format specified by convert_to |
|
# |
|
def self.convert(input, convert_to) |
|
convert_to = convert_to.to_s.strip |
|
|
|
unless VALID_COLUMNS.include?(convert_to) |
|
raise ArgumentError, "Invalid format #{convert_to}: must be one of #{VALID_COLUMNS.join(', ')}" |
|
end |
|
|
|
row = PLANS.find { |plan| VALID_COLUMNS.any? { |col| plan[col] == input } } |
|
row[convert_to] if row |
|
end |
|
end |
|
|
|
if $0 == __FILE__ |
|
puts ShopifyPlan.convert(ARGV[0], ARGV[1]) |
|
end |