--- /dev/null
+language: ruby
+cache: bundler
+
+rvm:
+ - 2.2.4
+
+bundler_args: --without development --retry=3 --jobs=3
+
+script: bundle exec rspec
Mastodon
========
+[](https://travis-ci.org/Gargron/mastodon)
+
Mastodon is a federated microblogging engine. An alternative implementation of the GNU Social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon.
**Current status of the project is early development. Documentation &co will be added later**
- Upload header image for profile page
- Deleting statuses, deletion propagation
-Missing:
-
-- Media attachments (photos, videos)
-- Streaming API
-- Blocking users, blocking remote instances
-
## Configuration
- `LOCAL_DOMAIN` should be the domain/hostname of your instance. This is **absolutely required** as it is used for generating unique IDs for everything federation-related
end
def statuses
- @statuses = @account.statuses.with_includes.with_counts.order('created_at desc')
+ @statuses = @account.statuses.with_includes.with_counters.order('created_at desc')
end
def follow
self.where(table[:username].matches(username)).where(domain: nil).take!
end
+ def self.find_local(username)
+ self.find_local!(username)
+ rescue ActiveRecord::RecordNotFound
+ nil
+ end
+
before_create do
if local?
keypair = OpenSSL::PKey::RSA.new(Rails.env.test? ? 1024 : 2048)
href = Addressable::URI.parse(mention_link.attribute('href').value)
if href.host == Rails.configuration.x.local_domain
- mentioned_account = Account.find_by(username: href.path.gsub('/users/', ''), domain: nil)
+ mentioned_account = Account.find_local(href.path.gsub('/users/', ''))
unless mentioned_account.nil?
mentioned_account.mentions.first_or_create(status: status)