Skip to content

aturay/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON API на RoR

=================

Использованные версии

Ubuntu      '16.04'
Ruby:       '2.3.1p112'
Rails:      '5.0.1'
PostgreSQL: '9.3.15'

Ссылка на репозиторий: Github blog api

Install

Ввести в терминал

git clone git@github.com:aturay/blog.git && cd blog/
bundle && rails s

Заполнение базы тестовыми данными

rails db:setup

JSON API на RoR:

1. Создать пост:

rails c
uri = URI.parse("http://localhost:3000/set_post")
params = { 'title'=>"post_i", 'content'=>"content", 'user_login'=>"login_101)}", "ip"=>"192.168.0.50}" }
Net::HTTP.post_form(uri, params)

2. Поставить оценку посту:

rails c
uri = URI.parse("http://localhost:3000/set_rating")
parmas = { 'num' => 5, 'post_id' => 5 }
Net::HTTP.post_form(uri, parmas)

3. Получить топ N постов по среднему рейтингу:

curl http://localhost:3000/get_top_posts/101

4. Получить список айпи, с которых постило несколько разных авторов:

curl http://localhost:3000/get_lists_ip

RSpec - Tест

  • Обязательное наличие спеков
rails s -e test
rspec

SQL

  • Переместится в текуший интерфейс командной строки
rails dbconsole

Ввести следующий блок sql:

CREATE TEMP TABLE users(id bigserial, group_id bigint);
INSERT INTO users(group_id) 
VALUES (1), (1), (1), (2), (1), (3);

SELECT users.group_id as "Группа", 
	COUNT(users.id) as "Количество записей", MIN(users.id) as "Минимальный id"
FROM users 
GROUP BY users.group_id;

В результате:

Группа Количество записей Минимальный id
1 4 1
3 1 6
2 1 4

(3 rows)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages