yatapp 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f08f10eae6d36ad30b9441a8c40ab2cc1429855
4
- data.tar.gz: 9ee4b7d69c902e5e58b9343fe9677f810f5acbec
3
+ metadata.gz: 3dbe1c5a64e29009ab512366f7a2e6ede27c50e7
4
+ data.tar.gz: 5654dee734b05c1c0f1f4f428232a50c465a879b
5
5
  SHA512:
6
- metadata.gz: 3c879e909e4906b528292024b534f8e88a6b1f50cb43572cdea88cf7bb8692aca25c23dc676b2ee027de121fa904faf3d22a5fcccf9bb82142dc751c383f35f9
7
- data.tar.gz: 5cc4195238d96cf7a3df2103c3f66cef0530fca18029fe7ecf2da34bfdcbb8d9e4b161db9f94b9249cfb81f8c233261c1cd2d372b3a2bcace0015da0e22c9e03
6
+ metadata.gz: d02007ced84f0a3a8360e8ac81d8846a378870b2f519bb143fd268da84127edac8d7586ee56ae78c0550415dd2601e7dc8b96e856665ba7cbcbbc779d5a14f7b
7
+ data.tar.gz: 6230cc9d356e9e8422dfad4fb7e152504f55691fba050edc5b091ca807a5ae2d48913e366f16040e3186fa6fe2b0de6e7b66fa5aab6ca577d283b9e506bfe892
data/README.md CHANGED
@@ -25,12 +25,17 @@ in your rails project:
25
25
 
26
26
 
27
27
  ```ruby
28
+
28
29
  include Yatapp
29
30
 
30
31
  Yatapp.configure do |c|
31
- c.languages = ['en', 'de'] # add any languages you wish by language code
32
- c.api_access_token = ENV['YATA_API_KEY'] # access key to Yata
33
- c.project = 'hash-of-your-project' # project you wish to fetch from
32
+ c.api_access_token = ENV['YATA_API_KEY'] # access key to Yata
33
+ end
34
+
35
+ yata_project do
36
+ project_id 'your-project-id' # project id you wish to fetch from (you can find it under settings of your organization)
37
+ languages ['en', 'de'] # add any languages you wish by language code
38
+ format :json # format you wish to get files in, available for now are (yaml and json)
34
39
  end
35
40
 
36
41
  ```
data/lib/yatapp.rb CHANGED
@@ -15,10 +15,25 @@ module Yatapp
15
15
  def api_caller
16
16
  @api_caller ||= YataApiCaller.new
17
17
  end
18
-
19
18
  end
20
19
 
21
20
  module Methods
21
+ def yata_project
22
+ yield
23
+ end
24
+
25
+ def languages(languages)
26
+ Yatapp.api_caller.set_languages(languages)
27
+ end
28
+
29
+ def project_id(project_id)
30
+ Yatapp.api_caller.set_project_id(project_id)
31
+ end
32
+
33
+ def translations_format(frmt)
34
+ Yatapp.api_caller.set_translation_format(frmt)
35
+ end
36
+
22
37
  def get_translations
23
38
  Yatapp.api_caller.get_translations
24
39
  end
@@ -1,7 +1,7 @@
1
1
  require 'yatapp'
2
2
  require 'rails'
3
3
 
4
- module GoogleSpreadsheet2yml
4
+ module Yatapp
5
5
  class Railtie < Rails::Railtie
6
6
  railtie_name :yatapp
7
7
 
@@ -1,3 +1,3 @@
1
1
  module Yatapp
2
- VERSION = "0.2.3"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -5,26 +5,41 @@ require 'pry'
5
5
 
6
6
  module Yatapp
7
7
  class YataApiCaller
8
- API_CALLER_ATTRIBUTES = [:connection].freeze
9
- API_END_POINT_URL = "/api/project/:project_id/download/:lang"
8
+ ALLOWED_FORMATS = %w(json yaml)
9
+ API_VERSION = 'v1'
10
+ API_END_POINT_URL = "/api/:api_version/project/:project_id/:lang/:format"
10
11
  API_BASE_URL = "http://api.yatapp.net"
12
+ API_CALLER_ATTRIBUTES = [
13
+ :connection,
14
+ :languages,
15
+ :project_id,
16
+ :translation_format
17
+ ].freeze
11
18
 
12
19
  attr_accessor *Yatapp::Configuration::CONFIGURATION_OPTIONS
13
20
  attr_reader *API_CALLER_ATTRIBUTES
14
21
 
15
22
  def initialize
16
23
  initialize_configuration
17
- @connection = make_connection
24
+ @translation_format = 'json'
25
+ @connection = make_connection
18
26
  end
19
27
 
20
- def make_connection
21
- Faraday.new(url: API_BASE_URL) do |faraday|
22
- faraday.adapter :typhoeus
23
- end
28
+ def set_languages(languages)
29
+ @languages = languages
30
+ end
31
+
32
+ def set_project_id(project_id)
33
+ @project_id = project_id
34
+ end
35
+
36
+ def set_translation_format(translation_format)
37
+ @translation_format = translation_format
24
38
  end
25
39
 
26
40
  def get_translations
27
41
  languages.each do |lang|
42
+ puts "Getting translation for #{lang}"
28
43
  api_url = download_url(lang)
29
44
  api_response = connection.get(api_url)
30
45
  save_translation(lang, api_response)
@@ -39,9 +54,16 @@ module Yatapp
39
54
  end
40
55
  end
41
56
 
57
+ def make_connection
58
+ Faraday.new(url: API_BASE_URL) do |faraday|
59
+ faraday.adapter :typhoeus
60
+ end
61
+ end
62
+
42
63
  def save_translation(lang, response)
43
64
  bfp = base_file_path
44
- File.open("#{bfp}#{lang}.yata.yml", 'wb') { |f| f.write(response.body) }
65
+ File.open("#{bfp}#{lang}.yata.#{translation_format}", 'wb') { |f| f.write(response.body) }
66
+ puts "#{lang}.yata.#{translation_format} saved"
45
67
  end
46
68
 
47
69
  def base_file_path
@@ -49,7 +71,9 @@ module Yatapp
49
71
  end
50
72
 
51
73
  def download_url(lang)
52
- url = API_END_POINT_URL.sub(':project_id', project)
74
+ url = API_END_POINT_URL.sub(':project_id', project_id)
75
+ url = url.sub(':format', translation_format)
76
+ url = url.sub(':api_version', API_VERSION)
53
77
  url = url.sub(':lang', lang)
54
78
  end
55
79
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yatapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - luki3k5
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-09 00:00:00.000000000 Z
11
+ date: 2015-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday