yanapiri 0.2.0 → 0.2.2
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 +5 -5
- data/.gitignore +2 -1
- data/.ruby-version +1 -1
- data/.travis.yml +9 -2
- data/README.md +7 -0
- data/lib/yanapiri/bot.rb +5 -18
- data/lib/yanapiri/entrega.rb +4 -0
- data/lib/yanapiri/transformacion_wollok.rb +18 -0
- data/lib/yanapiri/version.rb +1 -1
- data/lib/yanapiri.rb +1 -0
- data/yanapiri.gemspec +3 -1
- metadata +34 -7
- data/Gemfile.lock +0 -64
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8a50f96efb71cfbc154cac1b88548361523998c6ccd242567c789f184c6f613a
|
4
|
+
data.tar.gz: 11f009d684025a57cb9db8fbc80e9e01895072d7d6a8cdfc1bd58e9069aabf75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 154dd40edaa2cfde3f5e3ac298e71bf466cda973442a0d6bc5ce419d4c3ebc8ebf40679a198b0a74942df59cbd11b6f8534f9f84b24ae1fdf7afa1af0ee5d129
|
7
|
+
data.tar.gz: 7e8221e46fd33abc09765a3b7060499ea458663297281470f838ca3cd76684cdf126cfa73b8a52ec16598defc9999d02a136462344e4602edb21bfb251b43787
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.3
|
1
|
+
2.6.3
|
data/.travis.yml
CHANGED
@@ -1,7 +1,14 @@
|
|
1
|
-
---
|
2
1
|
sudo: false
|
3
2
|
language: ruby
|
4
3
|
cache: bundler
|
5
4
|
rvm:
|
6
|
-
|
5
|
+
- 2.6.3
|
7
6
|
before_install: gem install bundler -v 2.0.1
|
7
|
+
deploy:
|
8
|
+
provider: rubygems
|
9
|
+
api_key:
|
10
|
+
secure: EeoAjhLUodzU6JQEjkwb5VrItqztFNe8UINerGX0+pw6sDo/BLKQyIn5qQauc+lsuu4vn1/AOlAV+zVRmsBfPGM7QB7FbVHiv+Ru21MZ189evc94T43cjnP4AQzza8Y/30Avqz/IM7PIXM24fMmMdYApyYtW/itHXJoZC6202sPO71yQ95X8YzKfGPAqCGiYpLQzZXHPk9gRVn2LC+DALz/ARMPTMd3gf7F5pPdpto4h0vMhAV52HJxXB3RShi9cbQ2unRmTKTWblQJ3N7BJqZspcl7OA8FdzT5v8bnJulRi4uXCm54Rh0VCZqBryhgdZFdrYFKPv162R4JwY/Q9ug0gGJ3ZvApYKZxubbYAYUBIc9JZza2FmPGrb1f4y21i2JGObpx9+BSOk7TbFIDn3dsQPRplGma+E6/DD5q51dYK56bCdI2FKLF3ImvqqkeFF3tP3L/i0rxj2IhETcuYF7Aoc2rInMKj+zdMAxTFnuO/y8K2kZSw7VPrN/fX1ZbV4pzjxRY+8jUYPCqXkVX3UD0IWtFbfaNKrpxDJNcGO/OZFx2TR/llz8v4H04TIREerKkcCv73QhpceXzB7VzF0e8ADsBDtO8WbsNO4/Qbyxi+S9r9c6ppS/TX3USGMXUVGn0t4cX24Wzvdkp8ntVM5LvkSQKu0BbIJ+MI3PbwoXg=
|
11
|
+
gem: yanapiri
|
12
|
+
on:
|
13
|
+
tags: true
|
14
|
+
repo: faloi/yanapiri
|
data/README.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
+
[](https://rubygems.org/gems/yanapiri)
|
2
|
+
[](https://travis-ci.org/faloi/yanapiri)
|
3
|
+
|
1
4
|
# Yanapiri
|
2
5
|
|
6
|
+
Yanapiri es un vocablo aymara que significa "ayudante" o "el que ayuda".
|
7
|
+
|
8
|
+
A partir de este humilde aporte, es también una aplicación de línea de comandos (CLI) para asistir a docentes en ciertas tareas relacionadas al manejo de entregas a través de [GitHub Classroom](https://classroom.github.com/).
|
9
|
+
|
3
10
|
## Instalación
|
4
11
|
|
5
12
|
Yanapiri funciona con Ruby, por lo cual es necesario instalarlo antes. Podés consultar cómo hacerlo en [la documentación oficial](https://www.ruby-lang.org/es/documentation/installation/).
|
data/lib/yanapiri/bot.rb
CHANGED
@@ -21,7 +21,7 @@ class Bot
|
|
21
21
|
def preparar_correccion!(entrega, commit_base)
|
22
22
|
entrega.crear_branch! 'base', commit_base
|
23
23
|
entrega.crear_branch! 'entrega', 'master'
|
24
|
-
|
24
|
+
TransformacionWollok.transformar!(entrega, self) if TransformacionWollok.aplica?(entrega)
|
25
25
|
publicar_cambios! entrega
|
26
26
|
crear_pull_request! entrega
|
27
27
|
end
|
@@ -48,6 +48,10 @@ class Bot
|
|
48
48
|
@gh_client.user
|
49
49
|
end
|
50
50
|
|
51
|
+
def commit!(repo, mensaje)
|
52
|
+
repo.commit_all mensaje, author: git_author
|
53
|
+
end
|
54
|
+
|
51
55
|
private
|
52
56
|
|
53
57
|
def aplanar_commits!(repo)
|
@@ -62,23 +66,10 @@ class Bot
|
|
62
66
|
Git.clone "git@github.com:#{repo_slug}.git", repo_slug.split('/').last
|
63
67
|
end
|
64
68
|
|
65
|
-
def commit!(repo, mensaje)
|
66
|
-
repo.commit_all mensaje, author: git_author
|
67
|
-
end
|
68
|
-
|
69
69
|
def crear_pull_request!(entrega)
|
70
70
|
@gh_client.create_pull_request("#{@organization}/#{entrega.id}", "base", "entrega", "Corrección", entrega.mensaje_pull_request) rescue nil
|
71
71
|
end
|
72
72
|
|
73
|
-
def renombrar_proyecto_wollok!(entrega)
|
74
|
-
entrega.repo.chdir do
|
75
|
-
xml = File.read proyecto_wollok
|
76
|
-
File.open(proyecto_wollok, "w") {|file| file.puts xml.sub(/<name>.*<\/name>/, "<name>#{entrega.id}</name>") }
|
77
|
-
end
|
78
|
-
|
79
|
-
commit! entrega.repo, 'Renombrado proyecto Wollok'
|
80
|
-
end
|
81
|
-
|
82
73
|
def publicar_repo!(nombre, repo)
|
83
74
|
repo_nuevo = crear_repo!(nombre)
|
84
75
|
repo.remote('origin').remove
|
@@ -93,8 +84,4 @@ class Bot
|
|
93
84
|
def publicar_cambios!(entrega)
|
94
85
|
entrega.repo.push 'origin', '--all'
|
95
86
|
end
|
96
|
-
|
97
|
-
def proyecto_wollok
|
98
|
-
'.project'
|
99
|
-
end
|
100
87
|
end
|
data/lib/yanapiri/entrega.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
module TransformacionWollok
|
2
|
+
def self.aplica?(entrega)
|
3
|
+
entrega.contiene_archivo? proyecto_wollok
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.transformar!(entrega, bot)
|
7
|
+
entrega.repo.chdir do
|
8
|
+
xml = File.read proyecto_wollok
|
9
|
+
File.open(proyecto_wollok, "w") {|file| file.puts xml.sub(/<name>.*<\/name>/, "<name>#{entrega.id}</name>") }
|
10
|
+
end
|
11
|
+
|
12
|
+
bot.commit! entrega.repo, 'Renombrado proyecto Wollok'
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.proyecto_wollok
|
16
|
+
'.project'
|
17
|
+
end
|
18
|
+
end
|
data/lib/yanapiri/version.rb
CHANGED
data/lib/yanapiri.rb
CHANGED
data/yanapiri.gemspec
CHANGED
@@ -24,9 +24,11 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency "thor", "~> 0.20"
|
25
25
|
spec.add_dependency "octokit", "~> 4.0"
|
26
26
|
spec.add_dependency "git", "~> 1.5"
|
27
|
-
spec.add_dependency "activesupport", "~>
|
27
|
+
spec.add_dependency "activesupport", "~> 5.2"
|
28
28
|
|
29
29
|
spec.add_development_dependency "bundler", "~> 2.0"
|
30
30
|
spec.add_development_dependency "rake", "~> 10.0"
|
31
31
|
spec.add_development_dependency "rspec", "~> 3.0"
|
32
|
+
spec.add_development_dependency "guard", "~> 2.0"
|
33
|
+
spec.add_development_dependency "guard-rake", "~> 1.0"
|
32
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yanapiri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Federico Aloi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-05-
|
11
|
+
date: 2019-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '5.2'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '5.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,34 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '3.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: guard
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '2.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '2.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: guard-rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1.0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '1.0'
|
111
139
|
description:
|
112
140
|
email:
|
113
141
|
- federico.aloi@gmail.com
|
@@ -121,7 +149,6 @@ files:
|
|
121
149
|
- ".ruby-version"
|
122
150
|
- ".travis.yml"
|
123
151
|
- Gemfile
|
124
|
-
- Gemfile.lock
|
125
152
|
- Guardfile
|
126
153
|
- LICENSE
|
127
154
|
- README.md
|
@@ -132,6 +159,7 @@ files:
|
|
132
159
|
- lib/yanapiri.rb
|
133
160
|
- lib/yanapiri/bot.rb
|
134
161
|
- lib/yanapiri/entrega.rb
|
162
|
+
- lib/yanapiri/transformacion_wollok.rb
|
135
163
|
- lib/yanapiri/version.rb
|
136
164
|
- yanapiri.gemspec
|
137
165
|
homepage: https://github.com/faloi/yanapiri
|
@@ -153,8 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
181
|
- !ruby/object:Gem::Version
|
154
182
|
version: '0'
|
155
183
|
requirements: []
|
156
|
-
|
157
|
-
rubygems_version: 2.5.1
|
184
|
+
rubygems_version: 3.0.3
|
158
185
|
signing_key:
|
159
186
|
specification_version: 4
|
160
187
|
summary: Ayudante para administrar entregas via GitHub Classroom.
|
data/Gemfile.lock
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
yanapiri (0.2.0)
|
5
|
-
activesupport (~> 4.2)
|
6
|
-
git (~> 1.5)
|
7
|
-
octokit (~> 4.0)
|
8
|
-
thor (~> 0.20)
|
9
|
-
|
10
|
-
GEM
|
11
|
-
remote: https://rubygems.org/
|
12
|
-
specs:
|
13
|
-
activesupport (4.2.10)
|
14
|
-
i18n (~> 0.7)
|
15
|
-
minitest (~> 5.1)
|
16
|
-
thread_safe (~> 0.3, >= 0.3.4)
|
17
|
-
tzinfo (~> 1.1)
|
18
|
-
addressable (2.5.2)
|
19
|
-
public_suffix (>= 2.0.2, < 4.0)
|
20
|
-
concurrent-ruby (1.1.5)
|
21
|
-
diff-lcs (1.3)
|
22
|
-
faraday (0.15.4)
|
23
|
-
multipart-post (>= 1.2, < 3)
|
24
|
-
git (1.5.0)
|
25
|
-
i18n (0.9.5)
|
26
|
-
concurrent-ruby (~> 1.0)
|
27
|
-
minitest (5.11.3)
|
28
|
-
multipart-post (2.0.0)
|
29
|
-
octokit (4.14.0)
|
30
|
-
sawyer (~> 0.8.0, >= 0.5.3)
|
31
|
-
public_suffix (3.0.3)
|
32
|
-
rake (10.5.0)
|
33
|
-
rspec (3.8.0)
|
34
|
-
rspec-core (~> 3.8.0)
|
35
|
-
rspec-expectations (~> 3.8.0)
|
36
|
-
rspec-mocks (~> 3.8.0)
|
37
|
-
rspec-core (3.8.0)
|
38
|
-
rspec-support (~> 3.8.0)
|
39
|
-
rspec-expectations (3.8.3)
|
40
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
41
|
-
rspec-support (~> 3.8.0)
|
42
|
-
rspec-mocks (3.8.0)
|
43
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
44
|
-
rspec-support (~> 3.8.0)
|
45
|
-
rspec-support (3.8.0)
|
46
|
-
sawyer (0.8.1)
|
47
|
-
addressable (>= 2.3.5, < 2.6)
|
48
|
-
faraday (~> 0.8, < 1.0)
|
49
|
-
thor (0.20.3)
|
50
|
-
thread_safe (0.3.6)
|
51
|
-
tzinfo (1.2.5)
|
52
|
-
thread_safe (~> 0.1)
|
53
|
-
|
54
|
-
PLATFORMS
|
55
|
-
ruby
|
56
|
-
|
57
|
-
DEPENDENCIES
|
58
|
-
bundler (~> 2.0)
|
59
|
-
rake (~> 10.0)
|
60
|
-
rspec (~> 3.0)
|
61
|
-
yanapiri!
|
62
|
-
|
63
|
-
BUNDLED WITH
|
64
|
-
2.0.1
|