Module: PonysAIResources
- Defined in:
- lib/ponys_ai_resources.rb,
lib/ponys_ai_resources/characters/ari.rb,
lib/ponys_ai_resources/characters/ava.rb,
lib/ponys_ai_resources/characters/eli.rb,
lib/ponys_ai_resources/characters/eve.rb,
lib/ponys_ai_resources/characters/joe.rb,
lib/ponys_ai_resources/characters/kai.rb,
lib/ponys_ai_resources/characters/leo.rb,
lib/ponys_ai_resources/characters/mei.rb,
lib/ponys_ai_resources/characters/na1.rb,
lib/ponys_ai_resources/characters/na2.rb,
lib/ponys_ai_resources/characters/na3.rb,
lib/ponys_ai_resources/characters/na4.rb,
lib/ponys_ai_resources/characters/nyx.rb,
lib/ponys_ai_resources/characters/rin.rb,
lib/ponys_ai_resources/characters/sue.rb,
lib/ponys_ai_resources/characters/wen.rb,
lib/ponys_ai_resources/characters/yui.rb,
lib/ponys_ai_resources/characters/coco.rb,
lib/ponys_ai_resources/characters/eira.rb,
lib/ponys_ai_resources/characters/emma.rb,
lib/ponys_ai_resources/characters/hana.rb,
lib/ponys_ai_resources/characters/hina.rb,
lib/ponys_ai_resources/characters/jace.rb,
lib/ponys_ai_resources/characters/lyra.rb,
lib/ponys_ai_resources/characters/meow.rb,
lib/ponys_ai_resources/characters/miko.rb,
lib/ponys_ai_resources/characters/mila.rb,
lib/ponys_ai_resources/characters/nana.rb,
lib/ponys_ai_resources/characters/noah.rb,
lib/ponys_ai_resources/characters/nuwa.rb,
lib/ponys_ai_resources/characters/rami.rb,
lib/ponys_ai_resources/characters/rika.rb,
lib/ponys_ai_resources/characters/roro.rb,
lib/ponys_ai_resources/characters/ruby.rb,
lib/ponys_ai_resources/characters/vava.rb,
lib/ponys_ai_resources/characters/yuna.rb,
lib/ponys_ai_resources/characters/zoey.rb,
lib/ponys_ai_resources/characters/akari.rb,
lib/ponys_ai_resources/characters/dasha.rb,
lib/ponys_ai_resources/characters/jaxon.rb,
lib/ponys_ai_resources/characters/kiara.rb,
lib/ponys_ai_resources/characters/liana.rb,
lib/ponys_ai_resources/characters/lynne.rb,
lib/ponys_ai_resources/characters/mason.rb,
lib/ponys_ai_resources/characters/mulan.rb,
lib/ponys_ai_resources/characters/naomi.rb,
lib/ponys_ai_resources/characters/noxie.rb,
lib/ponys_ai_resources/characters/rovie.rb,
lib/ponys_ai_resources/characters/rowan.rb,
lib/ponys_ai_resources/characters/tessa.rb,
lib/ponys_ai_resources/characters/yuwei.rb,
lib/ponys_ai_resources/characters/adrian.rb,
lib/ponys_ai_resources/characters/aeroha.rb,
lib/ponys_ai_resources/characters/amanda.rb,
lib/ponys_ai_resources/characters/anthea.rb,
lib/ponys_ai_resources/characters/astrid.rb,
lib/ponys_ai_resources/characters/aubrey.rb,
lib/ponys_ai_resources/characters/change.rb,
lib/ponys_ai_resources/characters/darius.rb,
lib/ponys_ai_resources/characters/hassan.rb,
lib/ponys_ai_resources/characters/hatice.rb,
lib/ponys_ai_resources/characters/kurose.rb,
lib/ponys_ai_resources/characters/miyuki.rb,
lib/ponys_ai_resources/characters/mizuki.rb,
lib/ponys_ai_resources/characters/nefara.rb,
lib/ponys_ai_resources/characters/odette.rb,
lib/ponys_ai_resources/characters/phuwin.rb,
lib/ponys_ai_resources/characters/safira.rb,
lib/ponys_ai_resources/characters/sophie.rb,
lib/ponys_ai_resources/characters/soyeon.rb,
lib/ponys_ai_resources/characters/suzuki.rb,
lib/ponys_ai_resources/characters/zhixia.rb,
lib/ponys_ai_resources/characters/haitang.rb,
lib/ponys_ai_resources/characters/hiokimi.rb,
lib/ponys_ai_resources/characters/ji-hoon.rb,
lib/ponys_ai_resources/characters/monique.rb,
lib/ponys_ai_resources/characters/moretti.rb,
lib/ponys_ai_resources/characters/natalie.rb,
lib/ponys_ai_resources/characters/rosario.rb,
lib/ponys_ai_resources/characters/valeria.rb,
lib/ponys_ai_resources/characters/vanessa.rb,
lib/ponys_ai_resources/characters/vincent.rb,
lib/ponys_ai_resources/characters/clarissa.rb,
lib/ponys_ai_resources/characters/guixiang.rb,
lib/ponys_ai_resources/characters/emberveil.rb,
lib/ponys_ai_resources/characters/kirishima.rb,
lib/ponys_ai_resources/characters/sera-park.rb,
lib/ponys_ai_resources/characters/pixi-vayne.rb,
lib/ponys_ai_resources/characters/zaria-cole.rb,
lib/ponys_ai_resources/characters/elsie-bloom.rb,
lib/ponys_ai_resources/characters/han-so-yeon.rb,
lib/ponys_ai_resources/characters/sofia-maren.rb,
lib/ponys_ai_resources/characters/camila-reyes.rb,
lib/ponys_ai_resources/characters/chloe-monroe.rb,
lib/ponys_ai_resources/characters/maribel-cruz.rb,
lib/ponys_ai_resources/characters/marisol-vega.rb,
lib/ponys_ai_resources/characters/marlene-hart.rb,
lib/ponys_ai_resources/characters/zuri-bennett.rb,
lib/ponys_ai_resources/characters/aaliyah-banks.rb,
lib/ponys_ai_resources/characters/camila-duarte.rb,
lib/ponys_ai_resources/characters/ethan-caldwell.rb,
lib/ponys_ai_resources/characters/dr-lucia-moreno.rb,
lib/ponys_ai_resources/characters/summer-st-claire.rb,
lib/ponys_ai_resources/characters/character-43449110.rb
Defined Under Namespace
Modules: Characters
Constant Summary collapse
- VERSION =
"0.4.0"- PRODUCTS =
{ homepage: "https://ponys.ai/", discover: "https://ponys.ai/discover", create: "https://ponys.ai/create", character_generator: "https://ponys.ai/ai-character-generator", image_generator: "https://ponys.ai/ai-image-generator", video_generator: "https://ponys.ai/ai-video-generator", ai_girlfriend: "https://ponys.ai/ai-girlfriend", ai_boyfriend: "https://ponys.ai/ai-boyfriend" }.freeze
- LOCALES =
%w[en ja ko zh-tw zh-cn es pt-br].freeze
- CHARACTERS =
JSON.parse( File.read(File.join(__dir__, "ponys_ai_resources", "characters.json")) ).freeze
Class Method Summary collapse
- .character_feed_url(locale = "en") ⇒ Object
- .character_url(slug) ⇒ Object
- .creator_url(product = :discover, publisher:, locale: "en") ⇒ Object
- .feed_url(locale = "en", format = "json") ⇒ Object
- .open_data_catalog_url ⇒ Object
- .product_url(name = :homepage) ⇒ Object
- .widget_manifest_url ⇒ Object
Class Method Details
.character_feed_url(locale = "en") ⇒ Object
42 43 44 45 46 |
# File 'lib/ponys_ai_resources.rb', line 42 def self.character_feed_url(locale = "en") raise ArgumentError, "unsupported locale" unless LOCALES.include?(locale) "https://feeds.ponys.ai/characters/#{locale}.json" end |
.character_url(slug) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/ponys_ai_resources.rb', line 24 def self.character_url(slug) record = CHARACTERS.find { |character| character["slug"] == slug.to_s.downcase } raise ArgumentError, "unknown character: #{slug}" unless record record.fetch("url") end |
.creator_url(product = :discover, publisher:, locale: "en") ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/ponys_ai_resources.rb', line 56 def self.creator_url(product = :discover, publisher:, locale: "en") raise ArgumentError, "unsupported locale" unless LOCALES.include?(locale) query = URI.encode_www_form( utm_source: publisher, utm_medium: "affiliate", utm_campaign: "creator_resources", utm_content: locale ) "#{product_url(product)}?#{query}" end |
.feed_url(locale = "en", format = "json") ⇒ Object
35 36 37 38 39 40 |
# File 'lib/ponys_ai_resources.rb', line 35 def self.feed_url(locale = "en", format = "json") raise ArgumentError, "unsupported locale" unless LOCALES.include?(locale) raise ArgumentError, "format must be json or xml" unless %w[json xml].include?(format) "https://feeds.ponys.ai/feeds/#{locale}.#{format}" end |
.open_data_catalog_url ⇒ Object
52 53 54 |
# File 'lib/ponys_ai_resources.rb', line 52 def self.open_data_catalog_url "https://feeds.ponys.ai/open-data/catalog.json" end |
.product_url(name = :homepage) ⇒ Object
31 32 33 |
# File 'lib/ponys_ai_resources.rb', line 31 def self.product_url(name = :homepage) PRODUCTS.fetch(name.to_sym) end |
.widget_manifest_url ⇒ Object
48 49 50 |
# File 'lib/ponys_ai_resources.rb', line 48 def self. "https://feeds.ponys.ai/api/benchmark-widget.json" end |