c80_news_tz 0.1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.travis.yml +3 -0
  4. data/CODE_OF_CONDUCT.md +13 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +81 -0
  8. data/Rakefile +1 -0
  9. data/app/admin/c80_news_tz/compaines.rb +131 -0
  10. data/app/admin/c80_news_tz/facts.rb +110 -0
  11. data/app/admin/c80_news_tz/issues.rb +60 -0
  12. data/app/admin/c80_news_tz/notices.rb +115 -0
  13. data/app/admin/c80_news_tz/rubrics.rb +45 -0
  14. data/app/assets/images/c80_news_tz/.keep +0 -0
  15. data/app/assets/javascripts/c80_news_tz/application.js.coffee +1 -0
  16. data/app/assets/javascripts/c80_news_tz/backend/collapsable-groups.js +22 -0
  17. data/app/assets/javascripts/c80_news_tz/backend.js.coffee +1 -0
  18. data/app/assets/javascripts/c80_news_tz/frontend/facts_ajax.js +68 -0
  19. data/app/assets/javascripts/c80_news_tz/frontend/facts_wookmark.js +10 -0
  20. data/app/assets/stylesheets/c80_news_tz/application.scss +5 -0
  21. data/app/assets/stylesheets/c80_news_tz/backend/collapsed.scss +49 -0
  22. data/app/assets/stylesheets/c80_news_tz/backend/companies.scss +98 -0
  23. data/app/assets/stylesheets/c80_news_tz/backend/notices.scss +68 -0
  24. data/app/assets/stylesheets/c80_news_tz/backend.scss +1 -0
  25. data/app/assets/stylesheets/c80_news_tz/facts_wookmark.scss +27 -0
  26. data/app/controllers/c80_news_tz/application_controller.rb +10 -0
  27. data/app/helpers/c80_news_tz/application_helper.rb +41 -0
  28. data/app/models/c80_news_tz/adress.rb +5 -0
  29. data/app/models/c80_news_tz/company.rb +42 -0
  30. data/app/models/c80_news_tz/cphoto.rb +38 -0
  31. data/app/models/c80_news_tz/fact.rb +44 -0
  32. data/app/models/c80_news_tz/fact_validator.rb +19 -0
  33. data/app/models/c80_news_tz/fphoto.rb +44 -0
  34. data/app/models/c80_news_tz/gallery.rb +12 -0
  35. data/app/models/c80_news_tz/gphoto.rb +6 -0
  36. data/app/models/c80_news_tz/issue.rb +11 -0
  37. data/app/models/c80_news_tz/notice.rb +41 -0
  38. data/app/models/c80_news_tz/nphoto.rb +38 -0
  39. data/app/models/c80_news_tz/pdf.rb +6 -0
  40. data/app/models/c80_news_tz/prop.rb +5 -0
  41. data/app/models/c80_news_tz/rubric.rb +25 -0
  42. data/app/models/c80_news_tz/rubric_validator.rb +18 -0
  43. data/app/uploaders/c80_news_tz/cphoto_uploader.rb +88 -0
  44. data/app/uploaders/c80_news_tz/fphoto_uploader.rb +93 -0
  45. data/app/uploaders/c80_news_tz/gphoto_uploader.rb +61 -0
  46. data/app/uploaders/c80_news_tz/nphoto_uploader.rb +88 -0
  47. data/app/uploaders/c80_news_tz/pdf_uploader.rb +27 -0
  48. data/app/views/c80_news_tz/application/guru.js.erb +10 -0
  49. data/app/views/layouts/c80_news_tz/application.html.erb +14 -0
  50. data/app/views/shared/_fact.html.erb +13 -0
  51. data/app/views/shared/_news_block.html.erb +8 -0
  52. data/app/views/shared/_news_list.html.erb +12 -0
  53. data/bin/console +14 -0
  54. data/bin/setup +7 -0
  55. data/c80_news_tz.gemspec +27 -0
  56. data/config/locales/ru.yml +70 -0
  57. data/config/routes.rb +4 -0
  58. data/db/migrate/20151129000045_create_rubrics.rb +11 -0
  59. data/db/migrate/20151213202020_create_facts.rb +16 -0
  60. data/db/migrate/20151213202021_create_join_table_facts_rubrics.rb +12 -0
  61. data/db/migrate/20151213203030_create_fphotos.rb +11 -0
  62. data/db/migrate/20151214133030_create_props.rb +9 -0
  63. data/db/migrate/20160226131111_create_issues.rb +9 -0
  64. data/db/migrate/20160226131112_create_join_table_facts_issues.rb +12 -0
  65. data/db/migrate/20160226131313_create_pdfs.rb +11 -0
  66. data/db/migrate/20160226142022_create_companies.rb +12 -0
  67. data/db/migrate/20160226142023_create_join_table_companies_facts.rb +12 -0
  68. data/db/migrate/20160226143300_create_cphotos.rb +10 -0
  69. data/db/migrate/20160227113411_create_notices.rb +13 -0
  70. data/db/migrate/20160227113412_create_join_table_companies_notices.rb +12 -0
  71. data/db/migrate/20160227114040_create_adresses.rb +21 -0
  72. data/db/migrate/20160227121414_create_galleries.rb +12 -0
  73. data/db/migrate/20160227121415_create_gphotos.rb +12 -0
  74. data/db/migrate/20160227121416_create_nphotos.rb +10 -0
  75. data/db/seeds/19_fill_news_props.rb.example +6 -0
  76. data/db/seeds/20_fill_rubrics.rb.example +10 -0
  77. data/db/seeds/21_fill_facts.rb.example +17 -0
  78. data/db/seeds/22_fill_companies.rb.example +49 -0
  79. data/db/seeds/23_fill_issues.rb.example +19 -0
  80. data/db/seeds/24_fill_notices.rb.example +46 -0
  81. data/lib/c80_news_tz/engine.rb +23 -0
  82. data/lib/c80_news_tz/version.rb +3 -0
  83. data/lib/c80_news_tz.rb +5 -0
  84. data/seeds.sh.example +2 -0
  85. metadata +197 -0
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "c80_news_tz"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'c80_news_tz/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "c80_news_tz"
8
+ spec.version = C80NewsTz::VERSION
9
+ spec.authors = ["C80609A"]
10
+ spec.email = ["c080609a@gmail.com"]
11
+
12
+ spec.summary = "News+ gem for techz"
13
+ spec.description = "Gem adds news+ to techz site"
14
+ spec.homepage = "https://github.com/c080609a/c80_news_tz"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.9"
23
+ spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_dependency 'activesupport', ['>= 3.0.0']
25
+ spec.add_dependency "rails", "~> 4.2.0"
26
+ spec.add_dependency "local_time"
27
+ end
@@ -0,0 +1,70 @@
1
+ ru:
2
+ activerecord:
3
+ models:
4
+ notice:
5
+ one: "анонс"
6
+ other: "Анонсы"
7
+ c80_news_tz/nphoto: ""
8
+ c80_news_tz/gallery: ""
9
+ c80_news_tz/gphoto: "картинку"
10
+ c80_news_tz/cphoto: ""
11
+ c80_news_tz/fphoto: ""
12
+ c80_news_tz/adress: ""
13
+ company:
14
+ one: "компанию"
15
+ other: "Компании"
16
+ fact:
17
+ one: 'новость'
18
+ other: 'Новости'
19
+ issue:
20
+ one: 'номер журнала'
21
+ other: 'Номера журнала'
22
+ rubric:
23
+ one: 'рубрику'
24
+ other: 'Рубрики'
25
+ attributes:
26
+ c80_news_tz/notice:
27
+ title: "Название"
28
+ place: "Место проведения"
29
+ desc: "Описание"
30
+ custom_org: "custom_org"
31
+ companies: 'Организаторы'
32
+ c80_news_tz/nphoto:
33
+ image: 'Файл'
34
+ c80_news_tz/adress:
35
+ locality: 'Город'
36
+ street: 'Улица'
37
+ telephone_1: 'Телефон №1'
38
+ telephone_2: 'Телефон №2'
39
+ telephone_3: 'Телефон №3'
40
+ latitude: 'Широта'
41
+ longitude: 'Долгота'
42
+ email_1: 'Email №1'
43
+ email_2: 'Email №2'
44
+ site_1: 'Сайт №1'
45
+ site_2: 'Сайт №2'
46
+ c80_news_tz/company:
47
+ title: 'Название'
48
+ activity_type: 'Род деятельности'
49
+ desc: 'Описание'
50
+ facts: 'Новости'
51
+ c80_news_tz/gallery:
52
+ title: 'Название галереи'
53
+ c80_news_tz/fact:
54
+ title: 'Заголовок'
55
+ created_at: 'Дата создания'
56
+ short: 'Кратко'
57
+ rubrics: 'Рубрики'
58
+ issues: 'Номер'
59
+ issue: 'Номер'
60
+ leader_abz: 'Лидер абзац'
61
+ full: ''
62
+ companies: ''
63
+ c80_news_tz/issue:
64
+ number: 'Номер'
65
+ pdf: 'PDF'
66
+ pdfs: 'PDF'
67
+ facts: 'Новости'
68
+ c80_news_tz/rubric:
69
+ title: 'Название'
70
+ facts: 'Новости'
data/config/routes.rb ADDED
@@ -0,0 +1,4 @@
1
+ C80NewsTz::Engine.routes.draw do
2
+ match 'news_guru', :to => 'application#guru', :via => :post
3
+ get '/rubrics/:rubric_slug' => 'site#rubric'
4
+ end
@@ -0,0 +1,11 @@
1
+ class CreateRubrics < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_rubrics, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :title
5
+ t.string :slug
6
+ t.integer :ord
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,16 @@
1
+ class CreateFacts < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_facts, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :title
5
+ t.string :sub_title
6
+ t.text :short
7
+ t.text :leader_abz
8
+ t.text :full
9
+ t.string :keywords
10
+ t.string :description
11
+ t.string :slug
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ class CreateJoinTableFactsRubrics < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_facts_rubrics, :id => false do |t|
4
+ t.integer :fact_id, :null => false
5
+ t.integer :rubric_id, :null => false
6
+ end
7
+
8
+ # Add table index
9
+ add_index :c80_news_tz_facts_rubrics, [:fact_id, :rubric_id], :unique => true
10
+
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class CreateFphotos < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_fphotos, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :image
5
+ t.references :fact, index: true
6
+
7
+ t.timestamps null: false
8
+ end
9
+
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ class CreateProps < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_props, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.integer :per_page
5
+ t.integer :per_widget
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class CreateIssues < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_issues, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :number
5
+
6
+ t.timestamps null: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ class CreateJoinTableFactsIssues < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_facts_issues, :id => false do |t|
4
+ t.integer :fact_id, :null => false
5
+ t.integer :issue_id, :null => false
6
+ end
7
+
8
+ # Add table index
9
+ add_index :c80_news_tz_facts_issues, [:fact_id, :issue_id], :unique => true
10
+
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ class CreatePdfs < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_pdfs, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :file
5
+ t.references :issue, index: true
6
+
7
+ t.timestamps null: false
8
+ end
9
+
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ class CreateCompanies < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_companies, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :title
5
+ t.string :activity_type
6
+ t.text :desc
7
+ t.string :slug
8
+
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateJoinTableCompaniesFacts < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_companies_facts, :id => false do |t|
4
+ t.integer :company_id, :null => false
5
+ t.integer :fact_id, :null => false
6
+ end
7
+
8
+ # Add table index
9
+ add_index :c80_news_tz_companies_facts, [:fact_id, :company_id], :unique => true
10
+
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ class CreateCphotos < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_cphotos, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :image
5
+ t.references :company, :index => true
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ class CreateNotices < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_notices, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :title
5
+ t.string :slug
6
+ t.string :place
7
+ t.text :desc
8
+ t.text :custom_org
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ class CreateJoinTableCompaniesNotices < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_companies_notices, :id => false do |t|
4
+ t.integer :company_id, :null => false
5
+ t.integer :notice_id, :null => false
6
+ end
7
+
8
+ # Add table index
9
+ add_index :c80_news_tz_companies_notices, [:notice_id, :company_id], :unique => true
10
+
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ class CreateAdresses < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_adresses, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :locality
5
+ t.string :street
6
+ t.string :telephone_1
7
+ t.string :telephone_2
8
+ t.string :telephone_3
9
+ t.string :latitude
10
+ t.string :longitude
11
+ t.string :email_1
12
+ t.string :email_2
13
+ t.string :site_1
14
+ t.string :site_2
15
+ t.references :company, :index => true
16
+ t.references :notice, :index => true
17
+
18
+ t.timestamps
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,12 @@
1
+ class CreateGalleries < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_galleries, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :title
5
+ t.string :tag
6
+ t.references :company, :index => true
7
+ t.references :notice, :index => true
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ class CreateGphotos < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_gphotos, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :image
5
+ t.string :title
6
+ t.references :gallery, index: true
7
+
8
+ t.timestamps null: false
9
+ end
10
+ # add_foreign_key :c80_news_tz_gphotos, :galleries
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ class CreateNphotos < ActiveRecord::Migration
2
+ def change
3
+ create_table :c80_news_tz_nphotos, :options => 'COLLATE=utf8_unicode_ci' do |t|
4
+ t.string :image
5
+ t.references :notice, :index => true
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ # rake db:seed:07_fill_news_props
2
+
3
+ puts 'Fill C80NewsTz::Prop...'
4
+
5
+ C80NewsTz::Prop.delete_all
6
+ C80NewsTz::Prop.create!({ per_page:8, per_widget:4 })
@@ -0,0 +1,10 @@
1
+ # rake db:seed:20_fill_rubrics
2
+
3
+ puts 'Fill C80NewsTz::Rubric...'
4
+
5
+ C80NewsTz::Rubric.delete_all
6
+ C80NewsTz::Rubric.create!([
7
+ {id:1, title: 'Наука и техника'},
8
+ {id:2, title: 'Исследования'},
9
+ {id:3, title: 'Первая полоса'}
10
+ ])
@@ -0,0 +1,17 @@
1
+ C80NewsTz::Fact.delete_all
2
+
3
+ puts 'Fill C80NewsTz::Fact...'
4
+
5
+ C80NewsTz::Fact.create!([
6
+ { id:1, title: 'Mail.Ru продала HeadHunter консорциуму инвесторов', short: 'О том, что Mail.Ru Group заключила соглашение о продаже 100 процентов HeadHunter консорциуму за 9,85 миллиардов рублей, стало известно в ноябре 2014 года.', leader_abz: 'Mail.Ru Group Limited объявила о продаже 100 процентов акций HeadHunter консорциуму инвесторов под руководством «Эльбрус Капитал» за 10 миллиардов рублей. Об этом говорится в сообщении Mail.Ru, поступившем в редакцию «Ленты.ру».', full: '<p>Сделка была завершена 25 февраля 2016 года. Сообщается, что сумма будет выплачена двумя траншами: первый, в размере 5,5 миллиарда рублей, уже получен, а второй, 4,5 миллиарда рублей, будет получен до 30 апреля 2016 года. Второй транш является безусловным, то есть не требует выполнения каких-либо дополнительных условий.</p><p>О том, что Mail.Ru Group заключила соглашение о продаже 100 процентов HeadHunter консорциуму за 9,85 миллиардов рублей, стало известно в ноябре 2014 года.</p><p>Mail.Ru Group владела HeadHunter на протяжении последних семи лет. Ресурс является лидером интернет-рекрутмента России, Украины, Казахстана, Белоруссии и Азербайджана. В 2015 году выручка HeadHunter снизилась на 1,5 процента до 3,05 миллиарда рублей, показатель EBITDA сократился на 2,5 процента, до 1,5 миллиарда рублей по сравнению с результатом годом ранее.</p><p>Mail.ru Group принадлежит интернет-ресурс и почта Mail.ru, социальные сети «Одноклассники», «Мой мир» и «ВКонтакте», сервисы мгновенных сообщений ICQ и «Mail.ru Агент» и другие. Также Mail.Ru Group принадлежат миноритарные доли в ряде интернет-компаний России, Украины и Израиля и пакет акций Qiwi (1,31 процента). Основными акционерами Mail.ru Group являются структуры предпринимателя Алишера Усманова, южноафриканский холдинг Naspers и китайская Tencent.</p>' },
7
+ { id:2, title: 'В Великобритании нашли древнейший мезолитический кулон', short: 'Археологи обнаружили на территории Великобритании древнее (самое раннее из известных науке) мезолитическое украшение. Сланцевая подвеска имеет треугольную форму и в толщину достигает около трех миллиметров с длиной стороны примерно 30 миллиметров.', leader_abz: 'Археологи обнаружили на территории Великобритании древнее (самое раннее из известных науке) мезолитическое украшение. Сланцевая подвеска имеет треугольную форму и в толщину достигает около трех миллиметров с длиной стороны примерно 30 миллиметров. Кулон гравирован линиями, которые, по мнению археологов, могут символизировать дерево, лист или использоваться для расчетов. Исследование, посвященное находке, опубликовано в издании Internet Archaeology, о нем <a href="http://www.york.ac.uk/news-and-events/news/2016/research/mesolithic-shale-pendant/" target="_blank">сообщается</a> на сайте Йоркского университета.', full: '<p>Возраст находки составляет 11 тысяч лет. Кулон обнаружили в 2015 году во время раскопок на мезолитической стоянке в Стар-Карр в Северном Йоркшире. Подвеска была найдена в придонных отложения озера, а ее научная ценность стала ясна после микроскопического исследования. Археологи не знают, кому принадлежал кулон. Наиболее вероятная гипотеза — его носил древний шаман, поскольку ранее на месте раскопок был обнаружен головной убор с красными оленьими рогами, который, вероятно, принадлежал ему.</p><p>Ранее аналогичные украшения находили в Скандинавии. В Дании обнаруживали янтарные кулоны, на которых были нанесены похожие гравировки. Широкой публике кулон будет представлен на выставке в Йоркширском музее, которая пройдет в период с 27 февраля по 5 мая 2016 года. Находка свидетельствует о широких культурных связях между народами Северной Европы: после последнего ледникового периода уровень моря был ниже, чем сегодня, что позволило людям контактировать между собой.</p>'},
8
+ { id:3, title: '«Яндекс» назвал невыполнимыми требования законопроекта о новостных агрегаторах', short: 'В «Яндексе» раскритиковали идею депутатов Госдумы приравнять новостные агрегаторы к средствам массовой информации (СМИ). Как сообщается в блоге компании, в случае принятия соответствующего закона «Яндекс.Новости» в текущем виде существовать не сможет.', leader_abz: 'В «Яндексе» раскритиковали идею депутатов Госдумы приравнять новостные агрегаторы к средствам массовой информации (СМИ). Как сообщается в блоге компании, в случае принятия соответствующего закона «Яндекс.Новости» в текущем виде существовать не сможет.', full: '<p>«Требования, предъявляемые к владельцам новостных агрегаторов в законопроекте, выглядят чрезмерными, а также не соответствуют фактическим возможностям владельцев новостных агрегаторов и поэтому невыполнимы», — отметили в компании.</p><p>В «Яндексе» уточнили, что подбор и обработка сообщений происходят автоматически в режиме реального времени — это единственный способ оперативно собрать и обработать огромное количество материалов. «Законопроект в текущей редакции игнорирует сущность, задачи и особенности функционирования новостных агрегаторов и ставит их в значительно более жесткие условия, чем средства массовой информации», — говорится в сообщении.</p><p>Кроме того, в компании отметили, что «определения владельца новостного агрегатора и новостной информации в законопроекте слишком широкие», что дает возможность применить положения законопроекта к любым российским сайтам с суточной аудиторией более миллиона пользователей, которые собирают и обрабатывают информацию с других ресурсов.</p><p>«Требования можно применить и к любой информации, размещенной на ресурсе владельца новостного агрегатора, например к комментариям пользователей, результатам поисковой выдачи и так далее», — добавили в «Яндексе». В результате, полагают в компании, поправки могут вступить в противоречие с уже действующим законодательством, которое регулирует вопросы ответственности владельца ресурса за размещаемую информацию.</p><aside class="b-inline-topics-box b-box_floated b-inline-topics-box_wide b-box_left"><div class="b-inline-topics-box__wrap"><h2>Материалы по теме</h2><div class="topics"><div class="topic"><div class="g-date"><span class="g-date"><span class="time">18:18</span> 25 февраля 2016</span></div><a class="b-badge js-dh" href="http://lenta.ru/articles/2016/02/25/searchpress/"><img alt="Сотрудник в офисе компании «Яндекс»" class="g-picture" style="max-width: 96px; width: 96px; height: 64px;" src="https://icdn.lenta.ru/images/2016/02/25/16/20160225160249147/tabloid_e720ed463cc92be60c05d27fb0a1cbc6.jpg" width="96" height="64"></a><div class="info"><h4><a class="js-dh" href="http://lenta.ru/articles/2016/02/25/searchpress/">Без вести заблокированные</a></h4><div class="rightcol">Почему могут запретить «Яндекс.Новости» и Google News</div></div></div></div></div></aside><p>25 февраля блогер Илья Варламов <a href="https://lenta.ru/news/2016/02/25/varlamov/" target="_blank">прокомментировал</a> идею депутатов Госдумы. По его словам, инициатива избыточна и похожа «на очередной предвыборный бред Государственной Думы». Варламов уверен, что законопроект — попытка властей найти управу конкретно на «Яндекс.Новости».</p><p>Ранее в четверг против законопроекта <a href="http://lenta.ru/news/2016/02/25/minsvyaz/" target="_blank">высказались</a> в Минкомсвязи. Замминистра Алексей Волин заявил, что «с таким же успехом к СМИ можно приравнять и газетные киоски», поскольку они демонстрируют в витрине обложки газет и журналов, на которых видны заголовки новостей.</p><p>Наделить новостные агрегаторы, которые посещают более миллиона пользователей в сутки, статусом СМИ <a href="https://lenta.ru/news/2016/02/25/aggregator/" target="_blank">предложили</a> депутаты Госдумы Алексей Казаков («Справедливая Россия») и Александр Ющенко (КПРФ). Они внесли в Госдуму законопроект с соответствующими поправками к закону «Об информации, информтехнологиях и о защите информации» и к Кодексу об административных правонарушениях.</p><p>Парламентарии предлагают обязать агрегаторы проверять достоверность всех публикуемых новостей и штрафовать их за распространение недостоверной информации на сумму до пяти миллионов рублей (для юридических лиц). Кроме того, новостной агрегатор, согласно проекту, должен быть национальным юридическим лицом, иностранное участие в котором ограничивается 20 процентами.</p>'},
9
+ { id:4, title: 'Иран приобретет до 40 региональных лайнеров у ATR', short: 'Иранская авиакомпания Iran Air подписала соглашение о намерениях на поставку 40 региональных самолетов ATR-72, европейского производства, сообщает корреспондент «Ленты.ру» с авиасалона Singapore Airshow 2016.', leader_abz: '', full: '<p>Иранская авиакомпания Iran Air подписала соглашение о намерениях на поставку 40 региональных самолетов ATR-72, европейского производства, сообщает корреспондент «Ленты.ру» с авиасалона Singapore Airshow 2016.</p><p>«Iran Air продолжает размещать большой контракт на самолеты и уже подтвердил свой интерес и подписал соглашение о намерениях на поставку 40 турбовинтовых ATR. Контракт в настоящее время находится в стадии соглашения о намерениях на поставку 20 ATR-72-600 и 20 самолетов в опционе», — сообщает официальное издание выставки Show News.</p><p>«Правительства Франции и Италии играют важную роль в сделке, обеспечивая ее финансовую поддержку через свои экспортные кредитные агентства», — говорится в сообщении.</p><p>Компания Iran Air, находившаяся под западными санкциями, остро нуждается в обновлении своего флота, так же как и другие иранские авиалинии. Ранее национальный перевозчик Ирана не располагал региональными самолетами. Самой маленькой их машиной были лайнеры Fokker-100. В январе перевозчик разместил заказ на 118 лайнеров Airbus для обновления своего основного флота.</p>'},
10
+ ])
11
+
12
+ C80NewsTz::Fact::HABTM_Rubrics.create!([
13
+ {fact_id: 1, rubric_id: 1},
14
+ {fact_id: 2, rubric_id: 2},
15
+ {fact_id: 3, rubric_id: 3},
16
+ {fact_id: 4, rubric_id: 1},
17
+ ])
@@ -0,0 +1,49 @@
1
+ # rake db:seed:22_fill_companies
2
+
3
+ puts 'Fill C80NewsTz::Company...'
4
+
5
+ C80NewsTz::Company.delete_all
6
+
7
+ C80NewsTz::Company.create!([
8
+ {:id => 1,
9
+ :title => 'Европа Плюс',
10
+ :activity_type => 'радиокомпания',
11
+ :adress_attributes => {
12
+ :locality => 'г. Обнинск',
13
+ :street => 'ул. Вавилова, д. 2',
14
+ :telephone_1 => '+7 903 383 12 10',
15
+ :telephone_2 => '+7 48439 2-23-23',
16
+ :telephone_3 => '',
17
+ :latitude => '55.119538',
18
+ :longitude => '36.643969',
19
+ :email_1 => 'admin@email.ru',
20
+ :email_2 => 'manager@email.ru',
21
+ :site_1 => 'http://www.google.com',
22
+ :site_2 => 'http://www.ya.ru'
23
+ },
24
+ :desc => '<p>Уравнение малых колебаний интегрирует силовой трёхосный гироскопический стабилизатор. Действительно, время набора максимальной скорости участвует в погрешности определения курса меньше, чем прибор. Время набора максимальной скорости, несмотря на внешние воздействия, отличительно связывает установившийся режим. Ротор, в первом приближении, интегрирует нестационарный подвес, не забывая о том, что интенсивность диссипативных сил, характеризующаяся величиной коэффициента D, должна лежать в определённых пределах. Управление полётом самолёта, несмотря на некоторую погрешность, связывает силовой трёхосный гироскопический стабилизатор. Кожух заставляет перейти к более сложной системе дифференциальных уравнений, если добавить периодический силовой трёхосный гироскопический стабилизатор.</p>'
25
+ },
26
+ {:id => 2,
27
+ :title => 'ПИК',
28
+ :activity_type => 'строительная компания',
29
+ :adress_attributes => {
30
+ :locality => 'г. Обнинск',
31
+ :street => 'ул. Вавилова, д. 2',
32
+ :telephone_1 => '+7 903 383 12 10',
33
+ :telephone_2 => '+7 48439 2-23-23',
34
+ :telephone_3 => '',
35
+ :latitude => '55.119538',
36
+ :longitude => '36.643969',
37
+ :email_1 => 'admin@email.ru',
38
+ :email_2 => 'manager@email.ru',
39
+ :site_1 => 'http://www.google.com',
40
+ :site_2 => 'http://www.ya.ru'
41
+ },
42
+ :desc => '<p>Отсутствие трения заставляет перейти к более сложной системе дифференциальных уравнений, если добавить ПИГ. Отсутствие трения, несмотря на некоторую погрешность, вращает периодический стабилизатор. Гиротахометр отличительно характеризует устойчивый подвес. Как уже указывалось, ракета трансформирует момент силы трения. Начальное условие движения мгновенно. Ускорение стабилизирует гиротахометр.</p>'
43
+ }
44
+ ])
45
+
46
+ C80NewsTz::Company::HABTM_Facts.create!([
47
+ {company_id: 1, fact_id: 1},
48
+ {company_id: 2, fact_id: 2}
49
+ ])